一.
構造函數是對象一創建,就被調用了。(調用這個詞很特殊,是涉及到實體時,才會有調用的過程)
還有一點想說的是,構造函數的聲明應該是固定的,不然沒法隨著對象的創建一起執行,必須是類名+括號的形式。
二. 一般函數和構造函數的區別
創建對象時,構造函數就已經被調用,并執行了。那么,這個方法得是創建對象后,才調用。
構造函數說的是,對象初始化時,需要做的事情,而一般函數描述的是對象應該具備的功能。
觀察Person()構造函數,里面的語句看著和對象毫無關系。→看下面截圖中的“調用”一詞,可見構造函數和對象還是聯系在一起的。
如果再次調用構造函數,相當于初始化對象后,又再次初始化對象,沒有意義。如果將p.Person()的語句放置到其他語句之后,
再次進行初始化,會不會有一些存在的意義?對象初始化到底是什么樣的操作?
如果構造函數像一般函數那樣,可以多次調用,那么定義構造函數還有什么意義,直接寫成一般函數就行了。我開始設想,如果大家都可以重復調用,但是構造函數的功能和一般函數的功能不一樣,還是有多次存在的意義的。那我為什么不直接定義一個具有初始化功能的一般函數呢?
也要注意和下面的新建多個對象時的調用相區別。這里我在想,兩個函數進行的是相同的初始化么?
?