Java 中列舉中的建構函式過載。


過載是實現多型的機制之一,其中一個類包含兩個名稱相同但引數不同的方法。

每當呼叫此方法時,方法體將根據引數與方法呼叫繫結。

建構函式過載

與方法類似,你還可以過載建構函式,即使用不同的引數編寫多個建構函式。

並且,基於我們在例項化時傳遞的引數,將呼叫相應的建構函式。

示例

public class Sample{
   public Sample(){
      System.out.println("Hello how are you");
   }
   public Sample(String data){
      System.out.println(data);
   }
   public static void main(String args[]){
      Sample obj = new Sample("Tutorialspoint");
   }
}

輸出

Tutorialspoint

列舉中的建構函式過載

就像普通建構函式一樣,你還可以重寫列舉的建構函式。即你可以使用不同的引數構造建構函式。

示例

以下 Java 程式演示了列舉中的建構函式過載。

import java.util.Arrays;
enum Student {
   Krishna("Krishna", "kasyap", "Bhagavatula"), Ravi("Ravi", "Kumar", "pyda"), Archana("Archana", "devraj", "mohonthy");
   private String firstName;
   private String lastName;
   private String middleName;
   private Student(String firstName, String lastName,String middlename){
      this.firstName = firstName;
      this.lastName = lastName;
      this.middleName = middleName;
   }
   private Student(String name) {
      this(name.split(" ")[0], name.split(" ")[1], name.split(" ")[2]);
   }
}
public class ConstructorOverloading{
   public static void main(String args[]) {
      Student stds[] = Student.values();
      System.out.println(Arrays.toString(stds));
   }
}

輸出

[Krishna, Ravi, Archana]

更新於: 2020 年 7 月 2 日

760 次瀏覽

開啟您的 職業

完成課程獲取認證

開始
廣告