): 在新的类中增加一个私有域, 它引用现有类的一个实例.新类中的方法可以转发被包含的现有实例中的方法....上面这种做法违背了这句格言, 这是继承破坏了封装性所带来的不幸后果.类必须通过某种形式提供适当的钩子(hook).类必须通过某种形式提供适当的钩子(hook), 以便能够进入到它的内部工作流程中, 这种形式可以是精心选择的...(从Java 8开始接口也可以包含默认方法了.)抽象类需要继承(Java只允许单继承), 但是可以实现多个接口.使用接口的好处:现有的类可以很容易被更新, 以实现新的接口.接口是定义混合类型(mixin...它们也不能包含静态成员. 与匿名类一样, 它们必须非常简短, 以保证可读性.总结: 如果一个嵌套类需要在单个方法之外仍然是可见的, 或者它太长了, 不适合于放在方法内部, 就应该使用成员类....如果成员类的每个实例都需要一个指向其外围实例的引用, 就要把成员类做成非静态的; 否则, 就做成静态的.假设这个嵌套类属于一个方法的内部, 如果你只需要在一个地方创建实例, 并且已经有了一个预置的类型可以说明这个类的特征