我正在运行以下Java代码:
public class Base {
private static boolean goo = true;
protected String bar = "Base:" + foo();
public static void main(String[] args) {
Base base = new Sub();
System.out.println(base.bar);
}
protected static boolean foo() {
goo = !goo;
return goo;
}
}
public class Sub extends Base {
protected String bar = "Sub:" + foo();
}
我不明白为什么输出是:“ Base:False”。在调试器中,似乎基础对象有2个成员,名称为“ bar”(可能吗?),为什么它是指Base栏而不是Sub栏?
谢谢