1.尽可能使每个类或者成员不被外界访问
2.如果方法覆盖了超类中的一个方法,子类中的访问级别就不允许低于超类中的访问级别,这样可以确保任何可使用超类的实例的地方也都可以使用子类的实例。
3.公有类的实例域绝不能是公有的。但是有一个特例:类的成员域由静态final常量构成,可以公有的静态final域来暴露这些常量,但是注意final指向的一定是一个不可变对象,如果是可变对象,一般情况下final没有意义。
4.长度非零的数组总是可变的,所以让类具有共有的静态final数组域,或者返回这种域的访问方法,这是错误的。