Java函数的作用域及封装
作用域指的是变量或者函数的可见范围,Java中有四种作用域,分别是类级作用域、实例级作用域、方法级作用域和块级作用域。
类级作用域指的是类中的成员变量或者成员方法,它们与对象无关,只和类有关,可以通过类名直接调用,也可以通过对象调用。类级作用域的变量和方法都被称为类成员或者类属性。
实例级作用域指的是对象中的成员变量和成员方法,它们只和某个对象有关,不能被其他对象调用。当创建一个对象时,Java系统会自动为该对象分配一块内存存储对象的数据成员。对象中的数据成员也可以称为实例变量或者实例属性。
方法级作用域指的是方法中的参数和局部变量,只在方法内部有效,在方法外部是看不到的。当调用一个方法时,Java系统会为该方法创建一个新的方法栈,该方法的参数和局部变量都存储在该方法栈中。当方法执行结束后,该方法栈就会被销毁。
块级作用域指的是由{}包括的代码块内部的变量,它们只在代码块内部有效,代码块外部无法访问。当程序进入一个块级作用域时,Java系统会为该块级作用域创建一个新的栈帧,该栈帧中存储着该块级作用域所包含的变量。
Java中的封装指的是将类的内部细节对外隐藏,同时提供可以被外部访问的接口,通过接口来操作对象的内部数据。Java中的封装通过访问控制符来实现。Java中有四种访问控制符,分别是public、private、protected和默认控制符。
public表示公开的,是最宽松的访问控制符,它可以被任何类、对象或者包访问。
private表示私有的,只能被当前类所访问,其他类和对象无法访问。
protected表示受保护的,只能被当前类、子类、同一包中的其他类和对象访问,但是其他包中的类和对象无法访问。
默认控制符表示没有任何访问控制符,只可以被同一包中的其他类和对象访问,其他包中的类和对象无法访问。
通过访问控制符的使用,我们可以将类的内部细节对外隐藏起来,防止外部的错误修改和访问,保证程序数据的安全性和稳定性。同时,封装也可以提高可维护性,使得自己编写的类可以更好地被其他人理解和使用。
