- class Fu{
- int num=4;
- void show(){
- System.out.println("showFu");
- }
- }
- class Zi extends Fu{
- int num = 5;
- void show(){
- System.out.println("showZi");
- }
- }
- public class Test1{
- public static void main(String[] args){
- Fu f=new Zi();
- Zi z=new Zi();
System.out.println(f.num); *请问这个为什么打出来是4
System.out.println(z.num);
f.show();
z.show();
}
}
*

关于多态属性的调用问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2019-04-25 23:53关注
Fu f=new Zi();
因为f是Fu类型,所以看不到Z的成员。
如果是
System.out.println(((Z)f).num);
则输出5成员变量没有“覆盖”一说。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报