如何在 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 次浏览

开启 职业生涯

通过完成课程获得认证

开始学习
广告