1. 程式人生 > >構造函數和一般函數異同

構造函數和一般函數異同

family rom 對象創建 時間 引用變量 初始化 引用 mes 不能

1、它們的執行時間不同:

  構造函數是在創建對象的過程中執行。當對象創建完成了,構造函數就已經執行結束。

  一般函數執行時間有兩種情況:1) 如果調用其他類中的函數時:一般函數通過是在對象創建完成之後,通過對象的引用來調用。

                2) 如果調用本類中的函數時:什麽時候使用,什麽時候調用。

2、它們的調用次數不同:

  構造函數只有在new對象的時候,會被調用,一旦對象創建完成,我們不能手動的人為去調用構造函數。

  一般函數可以通過對象隨意的調用,沒有次數限制。

3、它們互相調用問題:

  在構造函數中可以去調用一般的函數,但是在一般的函數中不能調用構造函數。

在創建對象的過程中構造函數的執行時機:

  1、通過new 關鍵字創建對象,首先會在堆中分配對象的內存空間

  2、給對象所屬的類中的所有成員變量進行默認的初始化動作。

  3、開始調用和new對象時傳遞的參數一致的構造函數。

  4、調用了構造函數之後,開始執行構造函數中的所有代碼。(註:哪個對象調用,就把傳遞到構造函數裏的值賦值給堆內存中的變量中)

  5、當把構造函數中的所有代碼全部執行完成,這時構造函數出棧,才表示當前這個對象創建完成。

  6、把對象的內存地址賦值給對應的引用變量。

構造函數和一般函數異同