第15条 使类和成员的可访问性最小化尽可能地使每个类或者成员不被外界访问.对于顶层(非嵌套)的类和接口, 只有两种可能的访问级别: 包级私有(package private)和公有(public).如果一个包级私有的顶层类...换句话说, 该类必须有文档说明它可覆盖的方法的自用性. 更一般地, 类必须在文档中说明, 在哪些情况下它会调用可覆盖的方法....protected方法, 也可以是protected的域, 后者比较少见.例子: java.util.AbstractList中的removeRange方法....可以出现在代码中任何允许存在表达式的地方.当且仅当匿名类出现在非静态环境中时, 它才有外围实例. 但是即使它们出现在静态的环境中, 也不可能拥有任何静态成员.常见用法: 创建函数对象....如果成员类的每个实例都需要一个指向其外围实例的引用, 就要把成员类做成非静态的; 否则, 就做成静态的.假设这个嵌套类属于一个方法的内部, 如果你只需要在一个地方创建实例, 并且已经有了一个预置的类型可以说明这个类的特征