猿问

java子类的对象为什么不能访问父类的protected变量?

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了?
浮云间
浏览 393回答 2
2回答

蛊毒传说

你可以在子类中访问父类的protected成员,但是Human并不是Chapter6exp子类啊。在C类中访问是没有问题的。protected成员可以在同一个包中或子类中访问,Human显然两个条件都不符合。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答