java子类的对象为什么不能访问父类的protected变量?相关代码packageChapter6.Chapter6A;//父类代码publicclassChapter6exp{intage=5;protectedStringname="zzz";privatevoidf(){};publicStringcity="QD";}子类代码,位于不同包内packageChapter6;importChapter6.Chapter6A.Chapter6exp;classCextendsChapter6exp{C(){//this.city;//this.name;}}publicclassHuman{publicstaticvoidmain(Stringargs[]){Cc=newC();//c.city;只能取到city(public)}}在子类内部可以取到protected和public变量是我预期的,但是为什么实例化的对象取不到protected了?
2 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
你可以在子类中访问父类的protected成员,但是Human并不是Chapter6exp子类啊。在C类中访问是没有问题的。protected成员可以在同一个包中或子类中访问,Human显然两个条件都不符合。
添加回答
举报
0/150
提交
取消