一、概括 1.通常創建一個對象的方法如圖: 通過 Student tom = new Student(); 創建tom對象,這種創建實例的形式被稱為構造方法。 簡述:用來初始化對象的,為類的成員賦值。 2.構造方法特點 a.方法名與類名相同; b.沒有返回值類型; c.必須要通過new的形式調用; ...
一、概括
1.通常創建一個對象的方法如圖:
通過 Student tom = new Student(); 創建tom對象,這種創建實例的形式被稱為構造方法。
簡述:用來初始化對象的,為類的成員賦值。
2.構造方法特點
a.方法名與類名相同;
b.沒有返回值類型;
c.必須要通過new的形式調用;
3.語法
訪問修飾符 類名([參數])
{
方法體
}
二、 無參構造方法
1.在預設情況下,系統將會給類分配一個無參構造方法,並且沒有方法體。
通過反編譯工具看出:
我們也可以自定義一個無參構造方法,在無參構造方法中對類的屬性進行賦值等操作。
三、帶參構造方法
如果僅僅局限於無參構造方法,那麼屬性賦值是固定的,沒有對外的可變性。有了參數,給予可以根據業務邏輯,去針對性的賦值操作。
四、構造方法可以形成方法的重載
五、強制使用有參構造方法
上面描述了,系統在類沒有構造方法的時候,會生成一個無參構造方法。一旦我們在類中編寫了構造方法,那麼這個自動生成的無參構造函數就不會生成。根據此特性,我們可以只定義有參構造方法,因此在創建對象的時候,就只能賦值使用有參的構造方法。
構造方法具有強制性的特點。
六、構造方法的復用
1.遵循面向對象思想,因此我們寫代碼的時候應該減少冗餘,增強復用性。構造方法復用形式如下:
用”:this”調用自身其他構造方法。
2.this關鍵字
a.當成員變數和局部變數重名時使用this區分。
b.this表示當前類的對象,用於訪問該類的成員變數或方法。
七、對象初始化器
1.初始化對象的形式
a.常規的“”對象名.屬性名=值;“”
b.構造方法;
c.對象初始化器;
2.實現形式:
3.描述
對象初始化器是一種初始化對象的形式,本質上其實就是一種語法糖。它不具有像構造方法那樣的強制性,在為屬性賦值的時候不用遵守賦值的順序和數量。
4.對象初始化器與構造方法的異同點
a.構造方法具有強制性,對象初始化器沒有強制性。構造方法本質上是一種特性的方法,所有就要遵循方法的調用邏輯。
b.對象初始化器功能單一,只能完成對象屬性初始化。而構造方法可以在方法體中靈活的分配,如對象創建時讀取文件等需求。
c.順序的不同,對象初始化器是在調用了構造方法才執行的屬性賦值。而構造方法在new 的時候進行調用,並且邏輯代碼都是在類裡面的。