Java 空建構函式

Sheeraz Gul 2023年10月12日
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 中,編譯器的預設建構函式大多是在沒有定義空建構函式時插入的。

作者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

相關文章 - Java Constructor