我讀過有關類構造函數here和問題隨之出現,爲什麼不以下層次結構是不正確:不一致的類層次結構
public class Test extends Subclass.Inner{ //compile-time error
//The hierarchy of the type Test is inconsistent
public Test() {
super();
}
}
public class Subclass extends Test{
public class Inner{
}
}
正式
若父類的構造函數調用語句如果S是內部成員類,那麼它是編譯時錯誤,如果S是 而不是C聲明的詞法封閉類的成員或 繼承。
我認爲這個例子完全符合我引用的規則。在的情況下,通過繼承是Test
的詞彙插入類。爲什麼代碼不能正常工作?你能否提供一個反映這一點的適當例子?