, 子类中的访问级别就不允许低于超类中的访问级别....如java.awt包中的Point和Dimension.让公有类直接暴露域虽然从来都不是种好办法, 但是如果域是不可变的, 这种做法的危害就比较小一些(但是仍然questionable).第17条 使可变性最小化不可变类...(因为超类的构造器在子类的构造器之前运行, 如果子类中覆盖版本的方法依赖于子类构造器所执行的任何初始化工作, 该方法将不会如预期般地执行.)在为了继承而设计类的时候, Cloneable和Serializable...可以出现在代码中任何允许存在表达式的地方.当且仅当匿名类出现在非静态环境中时, 它才有外围实例. 但是即使它们出现在静态的环境中, 也不可能拥有任何静态成员.常见用法: 创建函数对象...., 将有机会通过多个源文件为一个类提供多个定义, 最终使用哪个定义和源文件被交给编译器的顺序有关.永远不要把多个顶级类或接口放在同一个源文件中.