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+ 瀏覽量

開啟你的事業

完成課程後獲得認證資格

立即開始
廣告