📜  Java-构造函数

📅  最后修改于: 2020-12-21 01:32:26             🧑  作者: Mango


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

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

所有类都具有构造函数,无论您是否定义一个,因为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