将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。封装是通过设置访问控制符实现的,他们的访问控制如下:
访问权限 类 包 子类 全局范围
public ∨ ∨ ∨ ∨
protect ∨ ∨ ∨ ×
default ∨ ∨ × ×
private ∨ × × ×
访问控制符可用于修饰的成员:
成员变量、方法、构造器、类等
其中类只能使用public和default修饰
访问控制符的使用原则:
类的绝大部分成员变量都应该使用private修饰,只有一些static修饰的、类似全局变量的成员变量,才考虑使用public修饰。
如果某个类主要用做其他类的父类,希望被其子类重写的方法应该使用protected修饰。
封装的目的
1.隐藏类的实现细节
2.让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对其他类的不合
理访问。
3.可进行数据检查,从而有利于保证对象信息的完整性。
4.便于修改,提高代码的可维护性。