我想了解JVM內部如何實現繼承。 在我看來,如果我們有以下代碼:Java:新的繼承和對象編號
class A {
int aa;
}
class B extends A{
int bb;
}
....
B b=new B();
的JVM三個對象內將被創建:
對象的B
- (與現場
int bb
) A
的對象(帶域int aa
)- 對象
Object
。
當然,程序員只能看到類B
的一個對象。我對嗎?或者只有一個對象創建內部JVM?
我想什麼:
新返回參考B
。爲什麼我認爲是這樣(例如),如果我們覆蓋B
中的A
的一些方法,我們可以始終使用super
。除了在默認的構造函數B
中,第一行將調用默認的構造函數A
,我們可以在該對象存在的情況下調用特定對象的構造函數。因此存在單獨的A
對象?
是否有你不想爲你的問題使用'jvm'或'inheritance'標籤的原因?請賜教 – User42
@ User42謝謝。我添加了這些標籤。 –
關鍵字'new'在字節碼中創建一個對象。多維數組是個例外。 –