我很想知道爲什麼下面的實例將不能編譯:Java對象實例 - 什麼不對的:
Superclass.Subclass myObject = new Superclass.Subclass();
錯誤消息如下:
No enclosing instance of type Superclass is accessible. Must qualify the allocation with an enclosing instance of type Superclass (e.g. x.new A() where x is an instance of Superclass).
是什麼意思通過外圍實例?爲什麼是這個必要嗎?
看來這消息說明該語法必須是:
Superclass mySuperObj = new Superclass();
Superclass.Subclass mySubObj = mySuperObj.new Subclass();
,但它無法解釋什麼是錯我的方法爲什麼必須使用這種替代語法。
哪裏是代碼,聲明超類和子類?你應該發佈[mcve] - 在你的情況下,你應該關注** Complete **的C。 –