我對Java中的下面的行爲感到困惑,我知道靜態繼承是不可能的Java然後我怎麼能夠調用A類的B類靜態成員?java中的靜態成員行爲
public class A {
static int staticVariable = 5;
public static void staticMethod(){
System.out.println("A");
}
}
public class B extends A{}
public class C {
public static void main(String[] args) {
A.staticMethod();
B.staticMethod();
System.out.printf("A's int value %d and B's int value is %d",A.staticVariable,B.staticVariable);
}
}
輸出:
A
A
A's int value 5 and B's int value is 5
我認爲「靜態繼承」並不意味着你的想法。以上是完全合法的Java代碼。 – 2012-01-13 01:01:40
我相信這是一個靜態方法不能被覆蓋。而基類函數不能被靜態方法隱藏。 – Mondo 2012-01-13 01:01:59
http://stackoverflow.com/questions/8095457/why-do-we-say-that-a-static-method-in-java-is-not-a-virtual-method – Flexo 2012-01-13 01:03:19