public class ExtAA extends AA {
static int iTime;
public static void main(String argv[]) {
ExtAA d = new ExtAA();
d.func(iTime);
}
public static void func(int iTime) {
System.out.println(iTime);
}
public ExtAA() { }
}
class AA {
public AA() { System.out.println("AA"); }
}
AA
0
我本來期望public ExtAA() { }
覆蓋構造爲AA
,因此無法打印AA,只是0
。有人可以解釋我錯了什麼,如果我想重寫構造函數,我怎麼能?
P.S.我的問題完全有可能是愚蠢的,但我不知道公衆應該或可以做什麼。這是一個測試,我搞砸了,我想知道實際發生了什麼(是的,我進入了調試和一步一步地去了,我只是不知道爲什麼new ExtAA
使用AA
而不是它自己定義構造函數)
構造函數不能被覆蓋,而是從頂層到底層調用層次結構,即從Object類到繼承層次結構中的最後一個類。 –