Java 中的构造函数重载:解释、好处和示例

已发表: 2021-07-22

目录

Java基础

Java 以其卓越的动态特性,已成为开发人员对 Web 应用程序进行大规模编程时最抢手的选择之一。 它是一种用户友好的语言,具有广泛的非凡功能。 它与所有操作系统的兼容性是丰富的 API 使其在全球流行。 该语言提供强大的社区支持和出色的文档服务。 Java 有一套可靠的开发工具。

Java中的构造函数

Java 中的构造函数用于初始化对象的状态。 就像方法一样,构造函数也包含一组在创建对象时要执行的语句或指令。

为什么我们需要 Java 中的构造函数?

让我们考虑一个盒子。 如果假设盒子是一个类,它可能有几个变量,例如宽度、长度和高度。 当要创建一个对象时,box 类将没有为其尺寸定义的值。 在创建新对象时,构造函数为类的变量赋值。 值的分配可以使用默认的 Java 构造函数来完成,也可以通过程序员传递的参数显式地完成。

什么时候调用构造函数?

每次使用 new() 关键字创建对象时,至少调用一个构造函数。 此构造函数为类的数据成员提供初始值。 通常,在创建新对象或实例时调用构造函数。

Java中的构造函数重载

定义同一类的多个构造函数的过程称为构造函数重载。 但是,每个构造函数都应该有不同的签名或输入参数。 换句话说,Java 中的构造函数重载是一种技术,它使单个类可以拥有多个构造函数,这些构造函数会因传递的参数列表而异。 每个重载的构造函数用于在类中执行不同的任务。

Java 编译器根据参数列表、参数类型和输入参数的数量来识别重载的构造函数。 因此,重载的构造函数应该有不同的签名。 构造函数的签名包含其名称和参数类型。 当两个类构造函数具有相同的签名时,就会出现歧义问题。

编译器无法区分两者,因此返回错误通知。 当不同签名的构造函数被重载时,编译器会根据对象的入参个数来确定要调用的构造函数。

使用构造函数重载

由于构造重载能够以多种方式创建特定类的对象,因此根据程序员的要求,它最常用于 Java 程序中。 通过使用构造函数重载,可以使用不同的数据类型初始化对象。

考虑具有三个类实例变量的对象作为示例,其中将特定值分配给第二个实例变量,而将其他变量分配默认值。 这可以通过根据组成类中的不同签名声明多个构造函数来实现。

阅读: Java 职业组件和架构解释

Java中实现构造函数重载的示例代码

让我们考虑一个 Employee 类具有三个构造函数的程序。 根据传递的值,调用这三个中的每一个来初始化一个对象。

在 Java 中使用此参考

所有实例方法和构造函数都欢迎一个名为“this”的隐式参数,用于引用当前对象。 当前对象是调用该方法的对象。 我们可以使用“this”引用来引用任何构造函数或方法中的当前对象。 与任何其他对象引用一样,可以使用“this”引用来访问方法或构造函数体内的实例方法、构造函数和变量。

使用“this”引用的几个重要场景是:

  1. 当参数名称与实例变量名称不同时
  2. 将引用传递给当前对象并将参数传递给另一个方法时
  3. 当要从另一个构造函数调用构造函数时。

在这种情况下,this() 引用参数必须与目标构造函数的参数匹配。 this() 函数必须是构造函数中的第一条语句。 在初始化例程复杂等特殊情况下,该函数可用于多个构造函数中的重复代码消除。

从世界顶级大学在线学习软件开发课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

Java中构造函数重载的好处

在编写 Java 程序时使用构造函数重载的主要优点是:

  • 构造函数重载可以实现静态多态性。
  • 可以使用构造函数重载以多种方式初始化类实例。
  • 它有助于在具有唯一签名的类中定义多个构造函数的过程。
  • 每个重载的构造函数都为特定目的执行各种任务。

概括

  • Java中的构造函数重载是指在一个实例类中使用多个构造函数。 但是,每个重载的构造函数必须具有不同的签名。
  • 为了编译成功,每个构造函数必须包含不同的参数列表。
  • 参数列表包括序列和输入参数的类型。
  • 在 Java 中,具有相同参数列表的类中的两个构造函数是不可行的。

如果您有兴趣了解有关全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的软件开发执行 PG 计划 - 全栈开发专业化,专为工作专业人士设计,提供 500 多个小时的严格培训,9+项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

为未来的职业做准备

申请 IIIT-B 软件开发执行 PG 计划