子類對象實例化全過程

2020-2-19    seo達人

標準格式注意:

super()和this()調用語句不能同時在一個構造器中。

super()或this()調用語句只能作為構造器中的第一句出現(xiàn)。原因:

無論通過哪個構造器創(chuàng)建子類對象,需要保證先初始化父類。

目的是,當子類繼承父類后,“繼承”父類所有的屬性和方法,因此子類有必要知道父類如何為對象進行初始化。

從結果上看:繼承性

子類繼承父類以后,就獲取了父類中聲明的屬性或方法。

創(chuàng)建子類的對象,在堆空間中,就會加載所父類中聲明的屬性。

從過程上看:

當我們通過子類的構造器創(chuàng)建子類對象時,我們一定會直接或間接的調用其父類的構造器,進而調用父類的父類的構造器,…直到調用了java.lang.Object類中空參的構造器為止。正因為加載過所的父類的結構,所以才可以看到內存中父類中的結構,子類對象才可以考慮進行調用。

強調說明:

雖然創(chuàng)建子類對象時,調用了父類的構造器,但是自始至終就創(chuàng)建過一個對象,即為new的子類對象。


分享本文至:

日歷

鏈接

個人資料

藍藍設計的小編 http://sillybuy.com

存檔