当前位置: 首页 > 文档资料 > 学习 Java 编程 >

构造函数(Constructors)

优质
小牛编辑
134浏览
2023-12-01

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

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

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

语法 (Syntax)

以下是构造函数的语法 -

class ClassName {
   ClassName() {
   }
}

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

  • 没有参数构造函数
  • 参数化构造函数

没有参数构造函数

由于名称指定Java的无参数构造函数不接受任何参数,因此使用这些构造函数将使用所有对象的固定值初始化方法的实例变量。

例子 (Example)

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

参数化构造函数

通常,您需要一个接受一个或多个参数的构造函数。 参数以与添加到方法相同的方式添加到构造函数中,只需在构造函数名称后面的括号内声明它们。

例子 (Example)

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

// 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