【发布时间】:2019-01-16 10:02:06
【问题描述】:
我很难理解为什么在标有“////1”的行,程序将返回 62 而不是 34。 谁能一步一步解释?我是java初学者,我正在努力理解执行顺序。
class X {
public void proc(X p){
System.out.println(12);
}
}
class Y extends X{
public void proc(X p){
System.out.println(62);
}
}
class Z extends Y{
public void proc(Z p){
System.out.println(34);
}
}
class Main4{
public static void main(String[] args){
X x = new Z();
Y y = new Z();
Z z = new Z();
x.proc(z);////1
}
}
任何帮助都会很棒!谢谢!
【问题讨论】:
-
proc(Z)不会覆盖proc(X)。
标签: java