封装是面向对象程序设计的三大特征之一,对象的状态信息可以隐藏在对象内部,其他程序无法直接访问,Java通过使用访问控制符来实现对内部信息的访问。Java提供了4个访问控制符,分别为private、protected、public以及默认的default控制符。访问控制级别由小到大分别为private——>default——>protected——>public。
四类访问控制符详细介绍
- private(当前类访问权限)
private是访问权限限制的最窄的修饰符。如果类成员或者方法被其修饰,则其只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。 - default(包访问权限)
default是默认的修饰符,即不采用任何修饰符的情况。如果类的成员或者方法被其修饰,则其可以在本类或者同一个包下其他类的对象访问,不允许子类访问,不允许跨包访问。 - protected(子类访问权限)
protected是介于private和public的修饰符。如果类的成员或者方法被其修饰,则其可以在本类、子类或者同一个包下其他类的对象访问,不允许跨包访问。 - public(公共访问权限)
public是访问权限限制最宽的修饰符。如果类成员或者方法被其修饰,则其可以被所有类访问,不管是否子类、是否跨包。
四类访问控制符权限范围
权限 | 类内 | 同包 | 不同包子类 | 不同包非子类 |
---|---|---|---|---|
private | √ | × | × | × |
default(默认) | √ | √ | × | × |
protected | √ | √ | √ | × |
public | √ | √ | √ | √ |