如何在 Java 中使用帶有建構函式的列舉型別?\n


列舉型別可以使用私有建構函式,該建構函式可用於初始化例項欄位。 

EnumDemo 類演示了這一點。它具有一個 Food 列舉型別,該型別有四個常量:HAMBURGER、FRIES、HOTDOG 和 ARTICHOKE。請注意,每個常量值後面都括在括號內。這將呼叫該成員的建構函式來初始化該成員的價格欄位。 

我們在 main() 方法中的 for 迴圈中迭代 Food 值。在此方法中,我們首先顯示食物常量的名稱。接下來,我們檢查該食物的價格,並顯示價格是昂貴還是實惠。隨後,為了好玩,我們演示瞭如何將 switch 語句與 Food 列舉型別一起使用。

示例

public class EnumDemo {
   public enum Food {
      HAMBURGER(7), FRIES(2), HOTDOG(3), ARTICHOKE(4);
      Food(int price) {this.price = price;}
      private final int price;
      public int getPrice() {
         return price;
      }
}
public static void main(String[] args) {
   for (Food f : Food.values()) {
   System.out.print("Food: " + f + ", ");

      if (f.getPrice() >= 4) {
         System.out.print("Expensive, ");
      } else {
               System.out.print("Affordable, ");
   }
switch (f) {
      case HAMBURGER:
         System.out.println("Tasty");
      continue;
      case ARTICHOKE:
         System.out.println("Delicious");
      continue;
      default:
      System.out.println("OK");
    }
  }
 }
}

輸出

Food: HAMBURGER, Expensive, Tasty
Food: FRIES, Affordable, OK
Food: HOTDOG, Affordable, OK
Food: ARTICHOKE, Expensive, Delicious

更新於:2019 年 7 月 30 日

231 次瀏覽

開啟 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.