2020-2-19 seo達人
標準格式注意:
super()和this()調用語句不能同時在一個構造器中。
super()或this()調用語句只能作為構造器中的第一句出現(xiàn)。原因:
無論通過哪個構造器創(chuàng)建子類對象,需要保證先初始化父類。
目的是,當子類繼承父類后,“繼承”父類所有的屬性和方法,因此子類有必要知道父類如何為對象進行初始化。
從結果上看:繼承性
子類繼承父類以后,就獲取了父類中聲明的屬性或方法。
創(chuàng)建子類的對象,在堆空間中,就會加載所父類中聲明的屬性。
從過程上看:
當我們通過子類的構造器創(chuàng)建子類對象時,我們一定會直接或間接的調用其父類的構造器,進而調用父類的父類的構造器,…直到調用了java.lang.Object類中空參的構造器為止。正因為加載過所的父類的結構,所以才可以看到內存中父類中的結構,子類對象才可以考慮進行調用。
強調說明:
雖然創(chuàng)建子類對象時,調用了父類的構造器,但是自始至終就創(chuàng)建過一個對象,即為new的子類對象。