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