访问权限
当前类 | 当前包(无论是否继承) | 继承的子类 | 非当前包并且非继承关系 | |
---|---|---|---|---|
public | ✔ | ✔ | ✔ | ✔ |
protected | ✔ | ✔ | ✔ | |
friendly(默认) | ✔ | ✔ | ||
private | ✔ |
可供修饰的内容
成员变量 | 成员方法 | 构造方法 | 外部类 | 内部类 | |
---|---|---|---|---|---|
public | ✔ | ✔ | ✔ | ✔ | ✔ |
protected | ✔ | ✔ | ✔ | ✔ | |
friendly(默认) | ✔ | ✔ | ✔ | ✔ | ✔ |
private | ✔ | ✔ | ✔ | ✔ |
可见,如果是想要创建外部类,那么该外部类可供使用的修饰符只有public和默认两种。protected和private是不可以使用的。
另外的一点是一个外部类的修饰符如果使用了public,那么该类的类名必须要和文件名一致,否则存在编译错误。
所以一个文件中,最多只能存在一个public修饰的外部类。