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 中,编译器的默认构造函数大多是在没有定义空构造函数时插入的。