5.4 隐藏和封装 5.4.1 理解封装

5.4 隐藏和封装

Java程序推荐将类和对象的成员变量进行封装。

5.4.1 理解封装

封装( Encapsulation)是面向对象的三大特征之一(另外两个是继承和多态),

封装指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来操作或访问内部信息

封装的好处

对一个类或对象实现良好的封装,可以实现以下目的。

  1. 隐藏类的实现细节。
  2. 让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对成员变量的不合理访问
  3. 可进行数据检查,从而有利于保证对象信息的完整性
  4. 便于修改,提高代码的可维护性

如何做好封装

为了实现良好的封装,需要从两个方面考虑:

  1. 将对象的成员变量和实现细节隐藏起来,不允许外部直接访问。
  2. 把方法暴露出来,让方法来控制对这些成员变量进行安全的访问和操作

如何实现封装

通过使用Java提供的访问控制符来实现