Java中的权限修饰符private、protected、public
java中的修饰符分类:
- 权限修饰符: private, default, protected, public
- 状态修饰符: static, final
- 抽象修饰符: abstract
权限修饰符
我们来看看四种权限修饰符的权限大小
(注意:没有default这个关键字,它就是代表默认的意思,即什么修饰符也不加)
一般,默认的可见性就是包可见性(package visibility)
1. public修饰符
具有最大的访问权限,可以访问任何一个CLASSPATH下的类,接口、异常等。它往往对于对外的情况,
也就是对象或类对外的一种接口形式。
2. default
有时候也称friendly,它是针对本包访问而设计的,任何处于本包下的类,接口,异常等,都可以互相访问,
即使是父类没有用protected修饰的成员也可以。
3. protected修饰符
它的主要作用就是保护子类的。它的含义在于子类可以使用它修饰的成员,其他的不可以,它相当于
传递给子类的一种继承的东西。
4. private修饰符
它的访问权限仅限于类的内部,是一种封装(Java的三大特点之一,继承,封装和多态)的体现。例如,
大多数的成员变量都可以修饰为private,它们不希望被其他任何外部类访问。
看看这个表
本类 | 同一个包下(子类和无关类) | 不同包下(子类) | 不同包下(无关类) | |
---|---|---|---|---|
public | 可见 | 可见 | 可见 | 可见 |
protected | 可见 | 可见 | 可见 | 不可见 |
default | 可见 | 可见 | 不可见 | 不可见 |
private | 可见 | 不可见 | 不可见 | 不可见 |