當發生class C extends B
時發生錯誤。但是,當我寫new A().super();
問題解決了。請考慮下面的代碼:由另一個內部類擴展的內部類
public class A {
public class B extends A {
public class C extends B {
public C() {
// No enclosing instance of type A is available due to some intermediate constructor error
// new A().super();
}
}
}
}
我的問題是,爲什麼class C cannot extend Class B
?爲什麼打電話new A().super();
解決了這個問題?這是什麼意思?有沒有更好的方法來解決它(不使用靜態嵌套類)?
兩個版本(有和沒有'新的A()。super();'編譯對我來說很好。我正在運行java 1.8.0_144。 – Turing85
關於「發生錯誤」和「問題」,你能更具體嗎? – Henry
關於「更好的解決方法」,我會考慮將嵌套類層次重構爲單獨的類,但當然取決於實際代碼的建模。 –