1. 说明
以下是我根据整理的资料所做的总结,在保留原始信息的基础上更方便朋友们理解和记忆O_o
2. 标题访问修饰符分类和对应的作用域
修饰符 | 同一个类 | 同一个包中的类 | 子类 | 所有类 |
---|---|---|---|---|
private | 可以访问 | 不可以 | 不可以 | 不可以 |
default(缺省) | 可以访问 | 可以访问 | 不可以 | 不可以 |
protected | 可以访问 | 可以访问 | 可以访问 | 不可以 |
public | 可以访问 | 可以访问 | 可以访问 | 可以访问 |
3. 访问修饰符的适用
修饰符 | 外部类 (顶级类) | 内部类 | 接口 | 成员变量 | 局部变量 | 方法 |
---|---|---|---|---|---|---|
private | 不可以 | 可以修饰 | 不可以 | 可以修饰 | 不可以 | 可以修饰 |
default | 可以修饰 | 可以修饰 | 可以修饰 | 可以修饰 | 不可以 | 可以修饰 |
protected | 不可以 | 可以修饰 | 不可以 | 可以修饰 | 不可以 | 可以修饰 |
public | 可以修饰 | 可以修饰 | 可以修饰 | 可以修饰 | 不可以 | 可以修饰 |
4. 访问修饰符的适用说明
- 内部类、成员变量和方法视为一类;外部类和接口视为一类;
- 局部变量生命周期短,不需要访问修饰符;
- 外部类和接口的上一单元是包,所以它们只有两个作用域:同一个包中的类和所有类;
- 内部类、成员变量和方法的上一单元是类,所以它们包含所有作用域。