1) 什麼是建構子?
--->在Java中,建構函式是類似方法的程式碼區塊。當創建類別的實例時調用它。呼叫建構函式時,會在記憶體中分配物件的記憶體。
--->它是一種特殊類型的方法,用於初始化物件。
--->每次使用 new 關鍵字建立物件時,都會至少呼叫一個建構函式。
--->如果類別中沒有可用的建構函數,它將呼叫預設建構函數。在這種情況下,Java編譯器預設提供了一個預設建構函式。
定義建構子有以下規則:
2) 建構子的型別
Java 中的建構子分為三種:
1。 Java 中的預設建構子
沒有參數的建構子稱為預設建構子。預設構造函數是不可見的。如果我們寫一個不帶參數的建構函數,編譯器不會建立預設建構函數。它被取出來。它被重載並被稱為參數化建構函式。預設建構函式變更為參數化建構函式。但參數化建構函式不能更改預設建構函式。預設的構造函數可以是隱式或顯式。
隱式預設建構子:如果類別中沒有定義建構函數,Java編譯器會自動提供預設建構子。此建構函數不帶任何參數,並使用預設值初始化對象,例如數字為 0,對象為 null。
明確預設建構子:如果我們定義一個不帶參數的建構函數,則稱為明確預設建構子。此構造函數取代了編譯器通常自動建立的構造函數。一旦定義了任何建構函式(帶或不帶參數),編譯器就不再為您提供預設建構函式。
2。 Java中的參數化建構子
具有參數的建構函式稱為參數化建構函式。如果我們想用我們自己的值初始化類別的字段,那麼使用參數化建構函數。
3。 Java 中的複製建構子 [TBD]
與其他建構函式不同,複製建構函式與另一個物件一起傳遞,該物件將可用資料從傳遞的物件複製到新建立的物件。
3) 什麼是建構子重載?
建構函式重載可以定義為具有多個具有不同參數的建構函式的概念,以便每個建構函式可以執行不同的任務。
Java 除了重載方法之外還支援建構函式重載。在Java中,重載的建構子是根據執行new時指定的參數來呼叫的。有時需要以不同的方式初始化物件。這可以使用構造函數重載來完成。
4) 「this」關鍵字有什麼用?
“this”關鍵字指的是方法或建構函數中的當前物件。
「this」關鍵字最常見的用途是消除類別屬性和同名參數之間的混淆(因為類別屬性被方法或建構子參數隱藏)。
「這個」也可以用在:
參考
https://www.javatpoint.com/java-constructor
https://www.geeksforgeeks.org/constructors-in-java/
https://www.javatpoint.com/constructor-overloading-in-java
https://www.geeksforgeeks.org/constructor-overloading-java/
https://www.w3schools.com/java/ref_keyword_this.asp
以上是建構函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!