设计良好的模块会隐藏所有的实现细节,把它的 API 与它的实现清晰地隔离开来。模块之间只通过它们的 API 进行通信,一个模块不需要知道其他模块的内部工作情况,这个概念被称为信息隐藏或封装。因此访问权限应当尽可能地使每个类或者成员不被外界访问。
封装性的体现
- 属性私有化,同时提供相应的get和set方法
- 私有化的方法,只供内部使用
- 私有化构造器,典型例子 – 单例模式
封装性思想,掩藏对象内部的复杂性,只对外部公开简单的接口
封装性的体现,需要访问修饰符的配合
- private : 同一类可用
- 默认:同一包可用
- protected:同一包或不同包子类
- public:一个工程(项目)内可用