如何在 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP