在Java中,有哪些规则决定了静态变量的继承?
2022-08-31 21:04:29
我有一个类, :Super
public class Super {
public static String foo = "foo";
}
我还有另一个类,它扩展了:Sub
Super
public class Sub extends Super {
static {
foo = "bar";
}
public static void main (String[] args) {
System.out.println(Super.foo);
}
}
当我运行它时,它会打印出来。
我的第三堂(也是最后一堂)课是:bar
Testing
public class Testing {
public static void main (String[] args) {
System.out.println(Super.foo);
System.out.println(Sub.foo);
System.out.println(Super.foo);
}
}
这打印:
foo
foo
foo
我不明白为什么的内容会有所不同,具体取决于您从哪个类访问它。谁能解释一下?foo