(摘自《JAVA2核心技术》,有删节)
- 把通用操作放到超类中。
- 不要使用受保护字段。有的程序员认为把大多数实例字段设为protected是一个好主意,这样子类在需要的时候能够访问这些字段。然而,protected机制不能带来好的保护。主要基于两个原因。首先,子类集是无界的--任何人都可以从你的类派生出子类,然后他们就可以编写代码访问protected实例字段,因而就破坏了封装性。其次,在java语言中,同一包的任何类,无论他们是否是子类,都能够访问protected字段。
- 使用继承来模式化“is-a”关系。
- 除非所有继承的方法都有意义,否则不要使用继承。
- 使用多态,而非类型信息。
- 不要滥用反射。