Java - 构造函数


构造函数在创建对象时对其进行初始化。它与其类具有相同的名称,并且在语法上类似于方法。但是,构造函数没有显式的返回类型。

通常,您将使用构造函数为类定义的实例变量赋予初始值,或执行创建完全形成的对象所需的任何其他启动过程。

所有类都有构造函数,无论您是否定义了构造函数,因为 Java 自动提供了一个默认构造函数,它将所有成员变量初始化为零。但是,一旦定义了自己的构造函数,就不再使用默认构造函数。

句法

以下是构造函数的语法 -

class ClassName {
   ClassName() {
   }
}

Java 允许两种类型的构造函数,即 -

  • 无参数构造函数
  • 参数化构造函数

无参数构造函数

正如名称所示,Java 的无参数构造函数不接受任何参数,使用这些构造函数,方法的实例变量将使用所有对象的固定值进行初始化。

例子

Public class MyClass {
   Int num;
   MyClass() {
      num = 100;
   }
}

您将调用构造函数来初始化对象,如下所示

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass();
      MyClass t2 = new MyClass();
      System.out.println(t1.num + " " + t2.num);
   }
}

输出

100 100

参数化构造函数

大多数情况下,您需要一个接受一个或多个参数的构造函数。参数添加到构造函数的方式与添加到方法的方式相同,只需在构造函数名称后面的括号内声明它们即可。

例子

这是一个使用构造函数的简单示例 -

// A simple constructor.
class MyClass {
   int x;
   
   // Following is the constructor
   MyClass(int i ) {
      x = i;
   }
}

您可以调用构造函数来初始化对象,如下所示 -

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass( 10 );
      MyClass t2 = new MyClass( 20 );
      System.out.println(t1.x + " " + t2.x);
   }
}

输出

10 20