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

现在我们来理解一下上述程序。

NumberValue 类由数据成员 num 和单一成员函数 display() 创建,后者显示 num 的值。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();
   }
}

更新于: 30-6 月-2020

12K+ 浏览量

开启你的事业

完成课程后获得认证资格

立即开始
广告
© . All rights reserved.