在本文中,我们将讨论构造函数,如何创建我们自己的构造函数,以及Java中的默认构造函数。
什么是构造函数?
作为基于类的面向对象编程术语,构造函数是用于初始化新创建的对象(类)的唯一方法。创建构造函数时必须遵循一些规则。这些规则包括:
构造函数的名称必须与类名相同。
构造函数必须没有返回类型。
在继续之前,让我们看看类在Java中的样子:
上面的代码显示了一个名为 Student 的类,该类具有三个属性 – 、 和 。我们将假设该类应该是注册学生的样本。回想一下,这三个属性没有任何值,因此没有一个信息是硬编码的。firstNamelastNameage
现在,我们将使用构造函数来创建对象的新实例。那是:Student
我们创建了一个构造函数,用于初始化对象中定义的属性。上面的代码是无参数构造函数的示例。现在让我们看一个不同的例子:Student
现在我们已经创建了一个参数化构造函数。参数化构造函数是使用参数/参数创建的构造函数。让我们来分解一下。
我们创建了一个新的构造函数,它接受三个参数 - 两个字符串和一个整数。
然后,我们将这些参数链接到我们在创建类时定义的属性。现在,我们已经使用构造函数初始化了 Student 对象。
最后,我们创建了 Student 对象的新实例,并传入了我们的参数。我们能够传入这些参数,因为我们已经在构造函数中定义了它们。
我创建了一个包含三个参数的构造函数,但您也可以创建单独的构造函数来初始化每个属性。
现在您已经了解了 Java 中的构造函数是什么以及如何使用它,现在让我们来看看默认构造函数。
什么是默认构造函数?
默认构造函数是由编译器创建的构造函数,如果我们不为类定义任何构造函数。下面是一个示例:
您能发现这与前面的两个示例之间的区别吗?请注意,在创建之前,我们没有定义任何构造函数来初始化在类中创建的属性。myStudent
这不会以我们的方式抛出错误。相反,编译器将创建一个空构造函数,但您不会在代码中的任何位置看到此构造函数 - 这发生在引擎盖下。
当编译器开始执行其工作时,上面的代码将如下所示:
很多人混淆了无参数构造函数的默认构造函数,但它们在Java中并不相同。程序员创建的任何构造函数在 Java 中都不被视为默认构造函数。
在本文中,我们了解了什么是构造函数,以及如何创建和使用它们来初始化我们的对象。
我们还讨论了默认构造函数以及它们与无参数构造函数的不同之处。