继承的缺点(约定问题) 继承打破了封装导致变更的脆弱性继承依赖超类,子类必须跟父类一起更新变化子类先添加了方法,超类如果继续添加了,子类就会报错 解决方法 (组合+方法转发) 不用继承,用组合。即把要继承的类作为新类的属性。转发方法不会有性能影响,不会有内存占用问题。例如Guava转发了Collection 继承的关注点(is-a) 如果要继承,问清楚,B是A吗?即真正的子类型例如:Stack类不应该继承Vector类,Properties类不应该继承Hashtable类