1、它們的執行時間不同:
建構函式是在建立物件的過程中執行。當物件建立完成了,建構函式就已經執行結束。
一般函式執行時間有兩種情況:1) 如果呼叫其他類中的函式時:一般函式通過是在物件建立完成之後,通過物件的引用來呼叫。
2) 如果呼叫本類中的函式時:什麼時候使用,什麼時候呼叫。
2、它們的呼叫次數不同:
建構函式只有在new物件的時候,會被呼叫,一旦物件建立完成,我們不能手動的人為去呼叫建構函式。
一般函式可以通過物件隨意的呼叫,沒有次數限制。
3、它們互相呼叫問題:
在建構函式中可以去呼叫一般的函式,但是在一般的函式中不能呼叫建構函式。
在建立物件的過程中建構函式的執行時機:
1、通過new 關鍵字建立物件,首先會在堆中分配物件的記憶體空間
2、給物件所屬的類中的所有成員變數進行預設的初始化動作。
3、開始呼叫和new物件時傳遞的引數一致的建構函式。
4、呼叫了建構函式之後,開始執行建構函式中的所有**。(注:哪個物件呼叫,就把傳遞到建構函式裡的值賦值給堆記憶體中的變數中
)5、當把建構函式中的所有**全部執行完成,這時建構函式出棧,才表示當前這個物件建立完成。
6、把物件的記憶體位址賦值給對應的引用變數。
建構函式和一般函式
建構函式 構建創造物件時呼叫的函式,作用 可以給物件進行初始化。建立物件都必須要通過建構函式初始化。如果乙個類中沒有定義建構函式,那麼該類中就會有乙個預設的無參建構函式。如果在類中定義了指定的建構函式,那麼類中的預設建構函式就沒有了。建構函式和一般函式有什麼區別呢?建構函式 物件建立時,就會呼叫與之...
建構函式總結,建構函式和一般函式
一 建構函式 構建創造物件時呼叫的函式。作用 可以給物件進行初始化 建立物件都必須要通過建構函式初始化 1.乙個類中如果沒有定義過建構函式,那麼該類中會有乙個預設的空引數建構函式。2.如果在乙個類中定義了指定的建構函式,那麼類中的預設建構函式就沒有了 3.一般哈數和建構函式區別 1 建構函式 物件建...
建構函式和一般函式的區別
無返回值,函式名與類名相同 物件一建立就呼叫與之相對應打建構函式,給物件初始化。如果類中沒有定義建構函式,系統預設給該類加入乙個空建構函式,當在類中自定義建構函式後,預設的建構函式消失。乙個物件建立,建構函式只執行一次。必須有返回值 一般函式經物件呼叫才執行,給物件新增具備的功能。一般函式可以被呼叫...