第15条 使类和成员的可访问性最小化尽可能地使每个类或者成员不被外界访问.对于顶层(非嵌套)的类和接口, 只有两种可能的访问级别: 包级私有(package private)和公有(public).如果一个包级私有的顶层类...(或接口)只是在某一个类的内部被用到, 就应该考虑使它成为那个类的私有嵌套类.对于成员(域, 方法, 嵌套类和嵌套接口), 有四种可能的访问级别(可访问性递增):私有的(private).包级私有的(package-private...对公有类, 应该用包含私有域和公有访问方法(getter)的类来代替, 对可变的类, 加上公有设值方法(setter).-> 保留了改变内部表现的灵活性.如果类是包级私有的, 或者是私有的嵌套类, 直接暴露它的数据域并没有本质的错误...中有没有缺陷呢?...实现了这个接口的类可以把对于接口方法的调用, 转发到一个内部私有类的实例上, 这个内部私有类扩展了骨架实现类.