【发布时间】:2011-09-11 07:15:06
【问题描述】:
我定义了三个类(A、B、C):
public class A {
int i = 5;
public A() {
foo();
}
public void foo() {
System.out.println(i);
}
}
class B extends A {
int i = 6;
}
class C extends B {
int i = 7;
public void foo() {
System.out.print(super.i);
}
public static void main(String[] args) {
C c = new C();
}
}
预期结果是:6 但程序返回:0
有人能解释一下结果吗? 您的帮助将不胜感激。
【问题讨论】:
标签: java variables inheritance initialization overriding