这个问题我早上也回答了。
Father f = new Child();//父类引用子类对象。
//进入构造函数。调用(this.)add函数。此时this指向子类对象。
//也就是调用子类add方法。先是打印Child。
//然后计算x += y,而x是子类的成员变量。父类是不知道x的值。
//这时jvm会给x赋值为0,y是传过来的参数值为20,x += y 得出 x = 20. 所以就输出20::20咯。
System.out.println(f.x);// 输出结果为10. f 是父类引用。 所以当然是输出10咯。 |
|