如何在 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
广告