更多 Java 基礎(chǔ)知識方面的文章,請參見文集《Java 基礎(chǔ)知識》
Java Enum 枚舉
- 枚舉類為
final,不能被繼承 - 枚舉值默認(rèn)為
static final
枚舉其實(shí)就是特殊的常量類,且構(gòu)造方法被默認(rèn)強(qiáng)制是私有。
示例:
public class Enum_Test {
public static void main(String[] args) {
Color c = Color.RED;
// 輸出 GREEN
System.out.println(Color.valueOf("GREEN"));
// 輸出 0
System.out.println(c.ordinal());
}
}
enum Color {
RED, GREEN, BLUE
}
枚舉類也可以定義構(gòu)造函數(shù)
參考:https://www.avajava.com/tutorials/lessons/how-do-i-use-the-enum-type-with-a-constructor.html
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 + ", " + f.getPrice() + ", ");
switch (f) {
case HAMBURGER:
System.out.println("Tasty");
continue;
case ARTICHOKE:
System.out.println("Delicious");
continue;
default:
System.out.println("OK");
}
}
}
}