Java之构造函数
什么是構造函數(shù)
建立一個對象時,通常最需要立即做的工作是初始化對象,如對數(shù)據(jù)成員賦初值
(1)構造函數(shù)就是用來在創(chuàng)造對象時初始化對象,為對象數(shù)據(jù)成員賦初始值
(2)構造函數(shù)一般聲明為公有的(public),因為創(chuàng)建對象通常是在類的外部進行的。如果構造函數(shù)聲明為保護的(protected)或私有的(private),那就意味在類外部創(chuàng)建對象(并調用構造函數(shù))是錯誤的。換言之,這樣的類是不能由外部實例化,只能由類內部實例化,這種情況不是通常的做法。
(3)在構造函數(shù)的函數(shù)體中不僅可以對數(shù)據(jù)成員初始化,而且可以包含任意其他功能的語句,例如分配動態(tài)內存等,但是一般不提倡在構造函數(shù)中加入與初始化無關的內容。
(4)每個構造函數(shù)應該為每個數(shù)據(jù)成員提供初始化。否則將使那些數(shù)據(jù)成員處于未定義的狀態(tài)。而使用一個未定義的成員是錯誤的。
(5)帶參數(shù)的構造函數(shù)中的形參,是在定義對象時由對應的實參給定的,用這種方法可以方便地實現(xiàn)對不同對象進行不同的初始化。需要注意,實參必須與構造函數(shù)的形參的個數(shù),次序,類型一致。
構造函數(shù):
是一個特殊的函數(shù),與類名相同,無返回值類型
每個類中都默認有一個無參的構造函數(shù)(是隱藏的)
創(chuàng)建對象時執(zhí)行構造函數(shù)
構造函數(shù)的作用:初始化對象
創(chuàng)建對象時,給對象屬性賦值
格式:
public?類名([參數(shù)]){
}
創(chuàng)建對象格式:版本2
類名?對象名?=?new?構造函數(shù)();
String?name;//問:是屬性還是方法?
public?void?a(){//問:是屬性還是方法
}
總結:
名字后面沒有括號的百分百是屬性
名字后面有小括號的百分百是方法
總結
- 上一篇: NYOJ-备用2350 彩排(位运算)
- 下一篇: java美元兑换,(Java实现) 美元