構造函數與成員函數的區別?


構造函數是一種特殊的方法,主要用來在創建對象時初始化對象即為對象成員變量賦初始值。總與new運算符一起使用在創建對象的語句中。特別的,一個類可以有多個構造函數,可根據其參數個數的不同或參數類型的不同來區分它們,即構造函數的重載。

 

構造函數與其他方法的區別:

1.構造函數的命名必須和類名完全相同;而一般方法則不能和類名相同.

2.構造函數的功能主要用於在類的對象創建時定義初始化的狀態.它沒有返回值,也不能用void來修飾.這就保證了它不僅什么也不用自動返回,而且根本不能有任何選擇.而其他方法都有返回值.即使是void返回值,盡管方法體本身不會自動返回什么,但仍然可以讓它返回一些東西,而這些東西可能是不安全的.

3.構造函數不能被直接調用,必須通過new運算符在創建對象時才會自動調用,一般方法在程序執行到它的時候被調用.

4.當定義一個類定義的時候,通常情況下都會顯示該類的構造函數,並在函數中指定初始化的工作也可省略不去Java編譯器會提供一個默認的構造函數.此默認構造函數是不帶參數的.而一般方法不存在這一特點

5.構造函數是特殊的成員函數,函數體可以在類體內,也可寫在類體外;

6.構造函數被聲明為公有函數,但它不能像其他成員函數那樣被顯式調用,它是在定義對象的同時被調用的。

 

類的成員函數

是指那些把定義和原型寫在類定義內部的函數,就像類定義中的其他變量一樣。

類成員函數是類的一個成員,它可以操作類的任意對象,可以訪問對象中的所有成員。

成員函數可以定義在類定義內部,或者單獨使用范圍解析運算符 :: 來定義。在類定義中定義的成員函數把函數聲明為內聯的,即便沒有使用 inline 標識符。

double Box::getVolume(void) { return length * breadth * height}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM