HOWTO · Java
Java 空建構函式
本教程演示什麼是 Java 中的空建構函式。
本頁內容
當我們需要通過我們的框架反射建立一個新例項時,需要一個空的建構函式。如果我們不為該類建立任何其他帶有引數的建構函式,我們就不需要建立一個空的建構函式,因為已經存在一個預設值。
本教程演示了 Java 中的空建構函式以及如何使用它。
Java 中的空建構函式
在建立建構函式時,我們必須保證建構函式與類同名,並且不返回任何值;空建構函式是不需要任何引數的建構函式,預設建構函式也可以是空建構函式。
一個空的建構函式為我們提供了一個物件的例項。我們可能需要使用 setter 為其設定必要的屬性。
當我們想要確保建立的任何例項始終有效並且變數已初始化時,可以使用空建構函式。我們可以使用空建構函式來定義預設值。
讓我們看一個 Java 程式碼中的示例。
package delftstack;
class Delftstack {
String employee_name;
int id;
public Delftstack() {
// Empty Constructor
}
public Delftstack(String employee_name, int id) {
this.employee_name = employee_name;
this.id = id;
}
public void print() {
System.out.println(toString());
}
}
public class Main {
public static void main(String[] args) {
Delftstack Demo = new Delftstack();
System.out.println(Demo.employee_name);
System.out.println(Demo.id);
}
}
輸出將是:
null
0
上面的程式碼顯示了兩個沒有引數和資料的 Delftstack() 建構函式,這就是空建構函式)。
這些建構函式主要用作預設建構函式,我們可以在其中設定預設資料,以便在沒有傳遞引數時使用預設資料。
讓我們看一個預設建構函式的示例。
package delftstack;
class Delftstack {
String employee_name;
int id;
public Delftstack() {
employee_name = "John";
id = 10;
}
public Delftstack(String employee_name, int id) {
this.employee_name = employee_name;
this.id = id;
}
}
public class Main {
public static void main(String[] args) {
Delftstack Demo = new Delftstack();
System.out.println(Demo.employee_name);
System.out.println(Demo.id);
}
}
上面的程式碼將空建構函式轉換為預設建構函式。
見輸出:
John
10
在 Java 中,編譯器的預設建構函式大多是在沒有定義空建構函式時插入的。