文章目录
1. 将公共字段或操作放在超类中
2.不要使用受保护的字段
protected并不能带来更多的保护
- 子类集合是无限制的,可以由你的类派生子类,然后直接访问protected实例字段
- 同一个包中的所有类都可访问protected字段,无论他们是否是这个类的子类
3.继承实现is-a关系
所有的子类都要满足超类的字段,否则不要轻易使用
4.除非所有的方法都有意义否则不要使用继承
5.再覆盖方法是不要改变预期的行为
子类在覆盖方法时,不要偏离最初的设计想法
6.使用多态而不要使用类型信息
if (x is of type A)
操作A
else if(x is of type B)
操作B
操作A和操作B是同类型的,就应该定义一个方法,放置在超类或接口中,然后调用x.action()
7.不要滥用反射
滥用反射编译器无法帮你查找错误,因此只有在运行时才会发现错误
并导致异常