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