定义
Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。
分类
- private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
- default (即缺省,什么也不写,不使用任何关键字): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。
- protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
- public : 对所有类可见。使用对象:类、接口、变量、方法
访问修饰符图
修饰符 | 当前类 | 同包 | 子类 | 其他包 |
---|---|---|---|---|
private | 支持 | 不支持 | 不支持 | 不支持 |
default | 支持 | 支持 | 不支持 | 不支持 |
protected | 支持 | 支持 | 支持 | 不支持 |
public | 支持 | 支持 | 支持 | 支持 |
关键字修饰
关键字 | 类 | 内部类 | 接口 | 方法 | 变量 | 局部变量 |
---|---|---|---|---|---|---|
private | 否 | 是 | 否 | 是 | 是 | 否 |
default | 是 | 是 | 是(public) | 是 | 是 | 是 |
protected | 否 | 是 | 否 | 是 | 是 | 否 |
public | 是 | 是 | 是 | 是 | 是 | 否 |
static | 否 | 是 | 否 | 是 | 是 | 否 |
final | 是 | 是 | 否 | 是 | 是 | 是 |
abstract | 是 | 是 | 否 | 是 | 否 | 否 |
synchronized | 否 | 否 | 否 | 是 | 否 | 否 |
参考:https://www.cnblogs.com/zyx110/p/10621592.html