用途:
定义命令行参数,菜单选项,星期,方向(东西南北)等
与普通类的不同
有默认的方法 value()
每个enum类都已默认继承java.lang.Enum,所以enum类不能继承其他类
构造方法默认是package-private或private,会自动创建预定义的常量,所以你不需要也不能调用构造方法。
例子:
星期
public enum Weekend {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY; public static void main(String[] args) {
for (Weekend day : Weekend.values()) {
System.out.println(day);
}
}
}
方向
public enum Direction {
EAST("d"), WEST("a"), SOUTH("s"), NORTH("w"); // 用键盘上的wasd键代表方向 private String key; private Direction(String key) {
this.key = key;
} public String getKey() {
return key;
} public static void main(String[] args) {
for (Direction d : Direction.values()) {
System.out.println("direction map:" + d.getKey());
}
} }
参考链接:
https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
https://docs.oracle.com/javase/8/docs/api/