前言
本文是橙子出于興趣愛好對Java官方教程的嘗試翻譯,幾乎每日更新,感興趣的朋友可以關注一下橙子;翻譯程序中盡可能多的對一些關鍵詞保留了英文原文,如果你想看最純正的英文原版教材卻又看不懂,可以試著來看一下橙子的翻譯版啊,歡迎大家留言討論,沖鴨!
更多相關文章點擊閱讀
Java官方教程目錄2021最新版
Providing Constructors for Your Classes 提供構造方法
一個類包含構造方法,構造方法用來根據類的藍圖創建物件,構造方法的宣告類似于方法的宣告,不同之處在于構造方法使用類的名稱,并且沒有回傳型別,例如,Bicycle類的一個構造方法:
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
要創建一個名為myBike的新Bicycle物件,則需要用new 運算子呼叫構造方法:
Bicycle myBike = new Bicycle(30, 0, 8);
new Bicycle(30, 0, 8)在記憶體中為物件開辟空間并且實體化(initializes)其欄位(fields),
一個類可以包含多個建構式,包括無參構造:
public Bicycle() {
gear = 1;
cadence = 10;
speed = 0;
}
Bicycle yourBike = new Bicycle();呼叫無參構造創建一個叫作yourBike的新物件,
上方的兩個建構式都可以在Bicycle類中宣告,因為它們有不同的引數串列,與方法一樣,Java語言根據串列中引數的數量和型別來區分構造方法,如果在一個類中撰寫兩個引數數量和型別相同的構造方法,將會造成編譯時錯誤(compile-time error),
可以不為一個類提供任何建構式,編譯器將自動為沒有任何建構式的類提供無參構造,該默認構造方法將呼叫父類的無參構造方法,如果父類沒有無參構造方法,編譯器將會報錯,因此在這種情況下必須驗證父類是否擁有建構式,如果一個類沒有顯式的父類,則它有一個隱式的父類——object,object類有無參構造,
一個類可以使用超類的建構式,將在后續的介面和繼承的課程中進行討論,
可以在建構式的宣告中使用訪問修飾符,以此來控制其它哪些類可以呼叫建構式,
注意:如果一個類不能呼叫MyClass的建構式,則它不能直接創建MyClass的物件,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/272872.html
標籤:java
