第十二条 使类和成员的可访问性最小化
总得来说,我们应该尽量将成员的访问范围限制到最小!有利于解耦,开发、测试和优化都能够更加独立。
对于成员(域,方法,嵌套类和嵌套接口),有四种可能的访问级别,访问范围从小到大:
1. private,只有声明成员的类的内部才能访问
2. 包级私有的,声明成员的类所在的包内的任何类都可以访问,如果成员不显示声明访问级别,就是这种级别,所以也成为缺省访问级别
3.protected,声明成员的类及其子类可以访问,并且声明类所在包中的任何类也可以访问
4.public,任何类均可以访问
另外,JAVA中的常量是全局访问的,public static final Integer VALUES_INTEGER = new Integer(10);
上面的VALUES_INTEGER是不可更改的,而公有的静态final数组是可以更改的:
public class MainTestJava { public static final Integer MAX_NUM = new Integer(10); public static final Integer[] MAX_NUM_A = {new Integer(10),new Integer(10),new Integer(10)}; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Integer ii = new Integer(11); MAX_NUM_A[1] = ii;//没有错误,可以赋值 MAX_NUM = ii;//有错误,不能赋值 } }
所以可以使用public的static final方法来获取数组的clone,将MAX_NUM_A置为private,不可更改
时间: 2024-10-24 15:11:43