class Demo{ public static void main(String[] args){ Son s = new Son(); s.show(); System.out.println(Son.name); }}class Father { String name = "father"; public void show(){ System.out.println( name + " father测试~~~"); }}class Son extends Father{ String name = "son";}
特别不理解,调用的时候为什么输出name的值为fater呢???继承不是this代表子类对象啊??求大神指导
6 回答
函数式编程
TA贡献1807条经验 获得超9个赞
假设父类 a=1 b=2 c=3
子类重写了 a=11 b=22
那么调用输出的时候
a=11 b=22 c=3 ?
------------
你子类只是给成员变量name赋值了。 成员函数 show方法没有重写。main调用show的时候是父类的show(),而父类show的是父类的name。你重写子类的 show方法试试,调用的就是子类的name了。
添加回答
举报
0/150
提交
取消