當(dāng)一個(gè)類中沒有定義構(gòu)造函數(shù)時(shí),系統(tǒng)會(huì)默認(rèn)添加一個(gè)無參的構(gòu)造方法
當(dāng)一個(gè)類中沒有定義構(gòu)造函數(shù)時(shí),系統(tǒng)會(huì)默認(rèn)添加一個(gè)無參的構(gòu)造方法。一直沒聽懂這句話什么意思,能舉個(gè)例子嗎
當(dāng)一個(gè)類中沒有定義構(gòu)造函數(shù)時(shí),系統(tǒng)會(huì)默認(rèn)添加一個(gè)無參的構(gòu)造方法。一直沒聽懂這句話什么意思,能舉個(gè)例子嗎
2018-01-02
舉報(bào)
2018-01-02
你可以這樣認(rèn)為:當(dāng)我們使用new關(guān)鍵字創(chuàng)建一個(gè)對(duì)象的時(shí)候,調(diào)用的就是這個(gè)對(duì)象的構(gòu)造方法,好比一個(gè)Animal類中沒有顯式的定義無參構(gòu)造方法,那么你在測(cè)試類中 使用 Animal animal = new Animal();的時(shí)候 系統(tǒng)自動(dòng)幫你調(diào)用了 Animal的無參構(gòu)造方法來創(chuàng)建 Animal類的實(shí)例對(duì)象(這里還有一些關(guān)于Java內(nèi)存相關(guān)的東西,這個(gè)你需要再深入了解)。末尾的()意味著,在對(duì)象創(chuàng)建后,立刻調(diào)用Animal類的構(gòu)造函數(shù),,對(duì)剛生成的對(duì)象進(jìn)行初始化。構(gòu)造方法必須有,不然沒法對(duì)對(duì)象進(jìn)行初始化的。算是Java規(guī)范?! 應(yīng)該是這樣的。
2018-01-02
對(duì),在這種情況下,系統(tǒng)會(huì)自定義