Java作用域
作用域 | 当前类 | 同一package | 子类 | 其他package |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | × |
默认情况下 | √ | √ | × | × |
private | √ | × | × | × |
文字描述
- public修饰的成员变量和函数可以被类、子类、同一个包中的类、以及任意其他类访问
- protected修饰的成员变量和函数能被类本身、子类、以及同一个包内的类访问
- 默认情况下(不写)下,属于一种包访问,即能被类本身以及同一个包中的类访问
- private修饰的成员变量和函数只能在类本身和内部类中被访问。
一些总结
如果子类和父类在同一个包下,那么对于父类的成员修饰符只有不是私有的private,那么都可以使用。
如果子类和父类不在同一个包下,子类只能使用父类中public和protected修饰的成员