不要在构造器或者静态工厂之外再提供公有的初始化方法, 也不应该提供重新初始化方法.第18条 组合优先于继承这里说的继承是类的继承, 不是接口的实现.继承打破了封装性.超类的实现有可能会随着发行版本的不同而有所变化...例如: Map中的Entry.非静态成员类非静态成员类的每个实例都隐含着与外围类的一个实例相关联....保存这份引用消耗时间和空间, 并且会导致外围实例在符合垃圾回收时却仍然得以保留.如果嵌套类的实例可以在它外围类的实例之外独立存在, 这个嵌套类就必须是静态成员类; 在没有外围实例的情况下, 要想创建非静态成员类的实例是不可能的..., 它允许外部类的实例被看作是另一个不相关的类的实例.例如: Map的集合视图, Set和List的迭代器.匿名类匿名类没有名字, 它不是外围类的一个成员, 它是在使用的时候同时被声明和实例化....在任何可以声明局部变量的地方, 都可以声明局部类, 并且局部类也遵守同样的作用域规则.局部类有名字, 可以被重复地使用. 只有当局部类在非静态环境中定义的时候, 才有外围实例.