簡體   English   中英

另一個內部類的內部子類-根類有多少個引用?

[英]Inner subclass of another inner class - how many refs to the root class?

假設我有結構

class A {
    class B {}
    class C extends B {}
}

似乎C實例應該有2個對根類A引用:第一個是從B超類繼承的,第二個是自己的隱式內部類引用。 我的問題:JVM(HotSpot)是否優化了這種情況並僅保留對根類的一個引用?

我對A.class進行了反編譯,得到的結果顯示了對A的兩個引用,一個是B的引用,另一個是C的引用。但這實際上意味着C實際上有兩個引用-一個是它自己的引用,另一個是從B繼承的。

class A {

    class B {
        final A this$0;
        B() {
            this$0 = A.this;
        }
    }

    class C extends B {
        final A this$0;
        C() {
            this$0 = A.this;
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM