访问权限
| 当前类 | 当前包(无论是否继承) | 继承的子类 | 非当前包并且非继承关系 | |
|---|---|---|---|---|
| public | ✔ | ✔ | ✔ | ✔ |
| protected | ✔ | ✔ | ✔ | |
| friendly(默认) | ✔ | ✔ | ||
| private | ✔ |
可供修饰的内容
| 成员变量 | 成员方法 | 构造方法 | 外部类 | 内部类 | |
|---|---|---|---|---|---|
| public | ✔ | ✔ | ✔ | ✔ | ✔ |
| protected | ✔ | ✔ | ✔ | ✔ | |
| friendly(默认) | ✔ | ✔ | ✔ | ✔ | ✔ |
| private | ✔ | ✔ | ✔ | ✔ |
可见,如果是想要创建外部类,那么该外部类可供使用的修饰符只有public和默认两种。protected和private是不可以使用的。
另外的一点是一个外部类的修饰符如果使用了public,那么该类的类名必须要和文件名一致,否则存在编译错误。
所以一个文件中,最多只能存在一个public修饰的外部类。
本文详细解释了Java中的访问权限控制,包括public、protected、default(friendly)、private的使用,强调了外部类的修饰符限制,以及公共外部类与文件名一致性要求。同时提到子类访问权限和包的关联,以及一个文件中只能有一个public外部类的规定。

被折叠的 条评论
为什么被折叠?



