Java 中的構造函數重載:解釋、好處和示例
已發表: 2021-07-22目錄
Java基礎
Java 以其卓越的動態特性,已成為開發人員對 Web 應用程序進行大規模編程時最搶手的選擇之一。 它是一種用戶友好的語言,具有廣泛的非凡功能。 它與所有操作系統的兼容性是豐富的 API 使其在全球流行。 該語言提供強大的社區支持和出色的文檔服務。 Java 有一套可靠的開發工具。
Java中的構造函數
Java 中的構造函數用於初始化對象的狀態。 就像方法一樣,構造函數也包含一組在創建對象時要執行的語句或指令。
為什麼我們需要 Java 中的構造函數?
讓我們考慮一個盒子。 如果假設盒子是一個類,它可能有幾個變量,例如寬度、長度和高度。 當要創建一個對象時,box 類將沒有為其尺寸定義的值。 在創建新對象時,構造函數為類的變量賦值。 值的分配可以使用默認的 Java 構造函數來完成,也可以通過程序員傳遞的參數顯式地完成。
什麼時候調用構造函數?
每次使用 new() 關鍵字創建對象時,至少調用一個構造函數。 此構造函數為類的數據成員提供初始值。 通常,在創建新對像或實例時調用構造函數。
Java中的構造函數重載
定義同一類的多個構造函數的過程稱為構造函數重載。 但是,每個構造函數都應該有不同的簽名或輸入參數。 換句話說,Java 中的構造函數重載是一種技術,它使單個類可以擁有多個構造函數,這些構造函數會因傳遞的參數列表而異。 每個重載的構造函數用於在類中執行不同的任務。
Java 編譯器根據參數列表、參數類型和輸入參數的數量來識別重載的構造函數。 因此,重載的構造函數應該有不同的簽名。 構造函數的簽名包含其名稱和參數類型。 當兩個類構造函數具有相同的簽名時,就會出現歧義問題。
編譯器無法區分兩者,因此返回錯誤通知。 當重載不同簽名的構造函數時,編譯器會根據對象的入參個數來確定要調用的構造函數。
使用構造函數重載
由於構造重載能夠以多種方式創建特定類的對象,因此根據程序員的要求,它最常用於 Java 程序中。 通過使用構造函數重載,可以使用不同的數據類型初始化對象。
考慮具有三個類實例變量的對像作為示例,其中將特定值分配給第二個實例變量,而將其他變量分配默認值。 這可以通過根據組成類中的不同簽名聲明多個構造函數來實現。
閱讀: Java 職業組件和架構解釋
Java中實現構造函數重載的示例代碼
讓我們考慮一個 Employee 類具有三個構造函數的程序。 根據傳遞的值,調用這三個中的每一個來初始化一個對象。
在 Java 中使用此參考
所有實例方法和構造函數都歡迎一個名為“this”的隱式參數,用於引用當前對象。 當前對像是調用該方法的對象。 我們可以使用“this”引用來引用任何構造函數或方法中的當前對象。 與任何其他對象引用一樣,可以使用“this”引用來訪問方法或構造函數體內的實例方法、構造函數和變量。
使用“this”引用的幾個重要場景是:
- 當參數名稱與實例變量名稱不同時
- 將引用傳遞給當前對象並將參數傳遞給另一個方法時
- 當要從另一個構造函數調用構造函數時。
在這種情況下,this() 引用參數必須與目標構造函數的參數匹配。 this() 函數必須是構造函數中的第一條語句。 在初始化例程複雜等特殊情況下,該函數可用於多個構造函數中的重複代碼消除。
從世界頂級大學在線學習軟件開發課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
Java中構造函數重載的好處
在編寫 Java 程序時使用構造函數重載的主要優點是:
- 構造函數重載可以實現靜態多態性。
- 可以使用構造函數重載以多種方式初始化類實例。
- 它有助於在具有唯一簽名的類中定義多個構造函數的過程。
- 每個重載的構造函數都為特定目的執行各種任務。
概括
- Java中的構造函數重載是指在一個實例類中使用多個構造函數。 但是,每個重載的構造函數必須具有不同的簽名。
- 為了編譯成功,每個構造函數必須包含不同的參數列表。
- 參數列表包括序列和輸入參數的類型。
- 在 Java 中,具有相同參數列表的類中的兩個構造函數是不可行的。
如果您有興趣了解有關全棧軟件開發的更多信息,請查看 upGrad 和 IIIT-B 的軟件開發執行 PG 計劃 - 全棧開發專業化,專為工作專業人士設計,提供 500 多個小時的嚴格培訓,9+項目和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。