請注意:
類別中擁有私有建構子會告訴編譯器不要提供預設的無參數建構子。
私有建構子無法實例化。
this() 必須是建構子中第一個未註解的語句。評論並不重要,任何地方都允許評論。
Java中的建構子重載是指在一個實例類別中使用多個建構子。但是,每個重載的建構函式必須有不同的簽章。為了編譯成功,每個建構函式必須包含不同的參數列表。
同一個類別中可以有多個建構函數,只要它們有不同的方法簽名即可。重載方法時,方法名和參數清單需要相符。對於建構函數,名稱始終相同,因為它必須與類別的名稱相同。構造函數必須具有不同的參數才能重載。
在上面,其中一個建構函式採用單一 int 參數。另一個需要一個 int 和一個 String。這些參數列表不同,所以建構子重載成功。
但這裡有一個問題。有一點重複。我們真正想要的是第一個建構子用
呼叫第二個建構函數
兩個參數。
建構子鏈
這是重載構造函數相互呼叫的時候。常見的技術是讓每個
建構函數會新增一個參數,直到到達完成所有工作的建構子。
結果:15 16 6
main() 方法使用一個參數呼叫建構函式。此建構函數會新增第二個硬編碼值並使用兩個
呼叫建構函數
參數。此建構函式加入了一個硬編碼值並呼叫建構函式
具有三個參數。三參數建構函數分配實例變數。
當你想要呼叫建構函式時使用建構函式鏈
在另一個構造函數中。
重載和連結的綜合好處
建構函式重載和連結共同提供了靈活性、效率和可維護的程式碼。重載可讓您支援各種初始化場景,而連結可確保您可以集中共享邏輯並減少冗餘。
以上是重載構造函數和構造函數鏈。的詳細內容。更多資訊請關注PHP中文網其他相關文章!