1. 将公共操作和域放在超类

2. 不要使用受保护的域

3. 使用继承实现“is-a”关系

4. 除非所有继承的方法都有意义,否则不要使用继承

5. 在覆盖方法时,不要改变预期的行为

6. 使用多态,而非类型信息

7. 不要过多的使用反射