構造函數和一般函數異同
阿新 • • 發佈:2018-02-05
family rom 對象創建 時間 引用變量 初始化 引用 mes 不能
1、它們的執行時間不同:
構造函數是在創建對象的過程中執行。當對象創建完成了,構造函數就已經執行結束。
一般函數執行時間有兩種情況:1) 如果調用其他類中的函數時:一般函數通過是在對象創建完成之後,通過對象的引用來調用。
2) 如果調用本類中的函數時:什麽時候使用,什麽時候調用。
2、它們的調用次數不同:
構造函數只有在new對象的時候,會被調用,一旦對象創建完成,我們不能手動的人為去調用構造函數。
一般函數可以通過對象隨意的調用,沒有次數限制。
3、它們互相調用問題:
在構造函數中可以去調用一般的函數,但是在一般的函數中不能調用構造函數。
在創建對象的過程中構造函數的執行時機:
1、通過new 關鍵字創建對象,首先會在堆中分配對象的內存空間
2、給對象所屬的類中的所有成員變量進行默認的初始化動作。
3、開始調用和new對象時傳遞的參數一致的構造函數。
4、調用了構造函數之後,開始執行構造函數中的所有代碼。(註:哪個對象調用,就把傳遞到構造函數裏的值賦值給堆內存中的變量中)
5、當把構造函數中的所有代碼全部執行完成,這時構造函數出棧,才表示當前這個對象創建完成。
6、把對象的內存地址賦值給對應的引用變量。
構造函數和一般函數異同