Java中可能有多个构造函数吗?

一个类中可以有多个构造函数。但是,构造函数的参数列表不应相同。这称为构造函数重载。

演示此的程序如下所示-

示例

class NumberValue {
   private int num;
   public NumberValue() {
      num = 6;
   }
   public NumberValue(int n) {
      num = n;
   }
   public void display() {
      System.out.println("The number is: " + num);
   }
}
public class Demo {
   public static void main(String[] args) {
      NumberValue obj1 = new NumberValue();
      NumberValue obj2 = new NumberValue(15);
      obj1.display();
      obj2.display();
   }
}

输出结果

The number is: 6
The number is: 15

现在让我们了解上面的程序。

使用数据成员num和display()显示num值的单个成员函数创建NumberValue类。类NumberValue中有两个构造函数,其中一个不带参数,另一个不带int类型的单个参数。演示这的代码片段如下-

class NumberValue {
   private int num;
   public NumberValue() {
      num = 6;
   }
   public NumberValue(int n) {
      num = n;
   }
   public void display() {
      System.out.println("The number is: " + num);
   }
}

在该main()方法中,创建了NumberValue类的对象obj1和obj2,并display()为它们两者调用了该方法。演示此代码段如下:

public class Demo {
   public static void main(String[] args) {
      NumberValue obj1 = new NumberValue();
      NumberValue obj2 = new NumberValue(15);
      obj1.display();
      obj2.display();
   }
}