protected修饰符详解

假设父类(Father)在A包,子类(Son)在B包。父类中含有protected,public,private,包访问权限的方法和域(重点为protected,其他没有的可以忽略),见图1,图2.

由于Son类继承Father类,所以在Son类中可以访问Father的protected,public域和方法.

在与子类Son同一包中的另一个类Brother类中创建Son类的对象s.按照Java中访问权限的设置,此时在Brother类中是不能访问Father类的protected,包访问权限,private的域和方法的,尽管该类中已经拥有Father类的子类Son的对象(但是此时该对象已经是Brother类的一个成员,Brother类中的所有代码区域是无权访问Father类中的protected)见图3.

综上:要想访问不同包的类的protected域和方法,途径只有一个:成为那个类的子类.

猜你喜欢

转载自blog.csdn.net/m0_38078065/article/details/79740616
今日推荐