全面理解Java預設建構函數
在Java中,預設建構子是隱式產生的無參構造函數,起至關重要的作用當您沒有明確定義類別的建構子。然而,與普遍的看法相反,定義任何其他建構函式都會停用預設建構函式的建立。
兩個範例都不是預設建構子
問題中提供的建構子都不是預設建構函數,因為兩者都有參數。預設建構函數沒有參數。
預設建構子的定義與產生
如果類別中沒有定義其他建構函數,則會自動產生預設建構子。它具有與類別相同的存取修飾符,並將實例變數初始化為其各自的預設值:
對於例如,如果類別Module 有三個欄位:name (String)、credits (int) 和hours (int),則預設建構子將為:
public Module() { this.name = null; this.credits = 0; this.hours = 0; }
定義其他建構子的意義
一旦為類別定義了至少一個建構函數,就不會產生預設建構函數。這是因為預設構造函數本質上是一個佔位符,一旦您提供了自己的構造函數,它就變得多餘。
額外說明
從技術上講,它不是預設初始化欄位的建構子。然而,由於建構子是類別的入口點,它的存在與否會間接影響預設初始化。
以上是Java何時產生預設建構函式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!