[英]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.