修饰符protected,访问权限,父类中的protected方法,可以被同包或者不同包的子类访问。
修饰符 | 当前类 | 同一包内 | 子孙类(同一包) | 子孙类(不同包) | 其他包 |
---|---|---|---|---|---|
public | Y | Y | Y | Y | Y |
protected | Y | Y | Y | Y/N | N |
default | Y | Y | Y | N | N |
private | Y | N | N | N | N |
这里需要注意,子孙类(不同包) – Y/N
Y 表示:
1、不同包子孙类可以访问父类protected成员变量和方法
2、不同包子孙类可以继承父类 protected 成员变量和方法
N 表示
1、不同包子孙类(A.class)中其他类不能通过A对象访问父类protected修饰的成员变量和方法
2、不同包子孙类(A.class)中,不同通过父类对象访问A父类protected修饰的成员变量和方法。
3、子孙类同包的子孙类不能通过子孙类对象访问其父类 protected 修饰的成员变量和方法