class Outer {
int o = 10;
class Inner {
int i = 20;
}
}
public class Demo {
public static void main(String args[]) {
Outer o = new Outer();
Outer.Inner oi = o.new Inner();
}
}
當我們通過外部類對象創建一個內部類對象他們如何在堆中彼此關聯?如何在內存堆中存在java內部類對象?
爲什麼要將內部類轉換爲靜態嵌套類?謝謝你的答案:) –
@KalhanoToressPamuditha:正確地刪除內部類的複雜性 - 重點是*內部*類具有隱式的構造函數和字段,但*靜態嵌套*類不。所以你可以把它看作編譯器把你的原始代碼轉換成這個代碼,然後編譯只知道靜態嵌套類。 –
是您的代碼的最後一個聲明是否正確?或者它是'Outer.Inner oi = new Outer.Inner(o);' –