为什么在 Java 中使用构造函数?

2025 年 3 月 25 日 | 阅读 3 分钟

在本节中,我们将学习为什么在 Java 中使用构造函数,以及构造函数的作用必要性。此外,我们还将了解构造函数的类型。

在 Java 中,构造函数类似于方法。构造函数的一个特性是它必须与类名同名。它没有返回类型。我们不需要手动调用构造函数。它在实例化过程中自动隐式调用。

换句话说,构造函数是一个方法,它在使用 new 运算符创建对象期间在运行时被调用。当我们创建对象时,JVM 会自动调用它。当我们在类中不定义构造函数时,默认构造函数始终在类中隐式存在。使用构造函数的原因如下:

  • 我们使用构造函数为对象提供默认或初始状态。原始类型的默认值可能不是您想要的。
  • 使用构造函数的另一个原因是它可以告知依赖关系。换句话说,使用构造函数,我们可以要求该类的用户提供所需的依赖项。
  • 只需查看构造函数,我们就可以了解使用此类需要什么。

简而言之,我们使用构造函数来初始化类的实例变量。

构造方法类型

Java 中有两种构造函数:

  • 参数化构造函数
  • 默认构造函数

参数化构造函数

顾名思义,它接受参数。当我们在实例化时希望使用指定的值动态初始化实例变量时,使用参数化构造函数。

示例

默认构造函数

默认构造函数不接受任何参数。如果我们希望使用某些值初始化实例变量,则使用它。每个 Java 类都有一个默认构造函数,它是隐式的。因此,我们不需要单独定义它。请记住,当我们创建参数化构造函数时,默认构造函数会从类中移除。

示例

注意:当我们不为 Java 程序提供任何构造函数时,Java 编译器会代表程序员编写默认构造函数并编译程序。它会使用默认值初始化实例变量。例如,整数为 0,浮点数为 0.0,字符串为 null。

让我们创建一个程序并使用默认构造函数和参数化构造函数。

在 Employee 类中,我们创建了两个构造函数,一个是默认构造函数,另一个是参数化构造函数。Employee 类有两个私有变量,分别是 name 和 age。在 main 方法中,我们实例化了该类并使用了这两个构造函数。

Employee.java

输出

Enter the name of the employee: David
Enter the age of the employee: 27
 
Show() method for the parameterized constructor: 
Name of the employee: David
Age of the employee: 27
Show() method for the default constructor: 
Name of the employee: William
Age of the employee: 28