13: 使类和成员的可访问性最小化

标签(空格分隔): Effective Java


  1. 尽可能地使每个类或者成员不被外界访问。
  2. 类或者接口能做成包级私有,就做成包级私有。如果做成公有,则是API的一部分,有责任支持它。
  3. 如果一个类只在另一个中使用,考虑做成另一个类的内部私有类。
  4. 缺省(default)的访问级别是包级私有。
  5. protected级别是导出的API的一部分,应该尽量少用。
  6. 实例域不能是公有的,final的域例外。
  7. 包含共有可变域的类不是线程安全的。
  8. 静态final域要不包含基本类型的值,要不包含指向不可变的引用,不然会导致灾难。
  9. 长度为0的数组都是可变的,声明为final也没用。可以使用两种方法,一是私有数组域,公有unmodifiableList;二是私有数组域,公有clone方法。
posted @ 2017-04-15 09:49  斑鱼  阅读(132)  评论(0编辑  收藏  举报