effective java第4章 类和接口

第13条 使类和成员的可访问性最小化
第一规则:尽可能地使每个类或成员不被外界访问
只有当同一个包内的另一个类真正需要访问一个成员的时候,你才应该删除private修饰符。
如果方法覆盖了超类中的一个方法,子类中的访问级别就不允许低于超类中的访问级别。这样可确保任何可使用超类实例的地方也可以使用子类的实例。
长度非零的数组总是可变的,所以,类具有公有的静态final数组域,或者返回这种域的访问方法,这几乎总是错误的。修正方法如下:

private static final Thing[] PRIVATE_VALUES = {...};
public static final List<Thing> values() = Collections.unmodifiableList(Arrays.asList(PRIVATE_VALUES ));


第14条 在公有类中使用访问方法而非公有域(过)
第15条 使可变性最小化
要使类成为不可变,要遵循下面几条圆原则:
1,不要提供任何会修改对象状态的方法
2,保证类不会被扩展
3,使所有的域都是final的
4,使所有的域都是私有的
5,确保对于任何可变组件的互斥访问
第16条 复合优先于继承
对于两个类,A和B,只有当两者之间确实存在“is_a”的关系时,类B才应该扩展类A

猜你喜欢

转载自blog.csdn.net/lc138544/article/details/82857928
今日推荐