设计良好的模块会隐藏所有的实现细节,把它的API与它的实现清晰的隔离开来。然后,模块之间只通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况。这被称封装。封装可以有效的解除组成系统各个模块的耦合关系。
访问控制机制(access mode)决定了类,接口,成员的可访问性。正确的使用访问修饰符,对于实现信息隐藏是非常关键的。
第一条规则:尽可能使每个类和成员不被外界访问。尽可能使用最小的访问级别。
对于顶层的类和接口,只有两种可能的访问级别:包级私有的(缺省)和公有的。
为了方便测试可以试着使类接口以及成员变得更容易访问一些。