访问权限控制
访问权限控制一般涉及三个比较重要的修饰符,
public && private && protected
每个修饰符代表了不同的权限
其中public 代表了 公有的,可以被外面的类所访问的。此外了,public 可以修饰类,而private 和 protected 只能用来修饰数据成员的
protected 可以通过继承的方式进行访问。
private 只能被类的成员的访问,而不能被外面的类所访问。
1 | protected int i = 1; |
以上三种就是类似的实现。
值得一提的是java还有一个默认权限。这个权限就是包内的其他类可以使用。不用修饰符就是默认的权限。
权限由大到小排序:public > protected > 默认权限 > private;
目的:最大程度实现封装
getter && setter
如果类中的成员 只供类中的成员使用,那就可能地使用private 这是不错的。
对于使用了private 修饰符的成员,对于每一个成员都可以通过getter 方法获取数据,setter方法设置数据,实现数据存储和数据分离的操作。(但是,我有一点不明白,其他方式也可以实现类似的效果啊)
1 | class Cat{ |
不可变对象和类
如果 上述的例子失去了setAge 方法,那么他就是一个不可变的类。
一般而言,私有变量如果没有设置方法便是不可变的类.
如果更严谨则需要确定此类的所有成员都是私有的,算了我不太懂,这点不重要,以后再说
作用域
类成员的作用域是整个类,所以成员之间的顺序是任意的
局部变量的作用域就是从其声明开始 到其所在的块尾