我们如何在Java中将枚举类型与构造函数一起使用?
枚举类型可以具有一个私有的构造函数,该构造函数可用于初始化实例字段。
EnumDemo类演示了这一点。它具有带有四个常量的Food枚举类型:HAMBURGER,FRIES,HOTDOG和ARTICHOKE。请注意,括号后的每个常数值之后。这将调用该成员的构造函数以初始化该成员的价格字段。
我们在main()
方法的for循环中迭代Food值。在这种方法中,我们首先显示食物常量的名称。接下来,我们检查该食品的价格,并显示价格昂贵还是负担得起。在此之后,为了娱乐,我们演示了使用带有Food枚举类型的switch语句。
例:
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