从JDK 5开始,枚举被添加到了Java语言中,形式最简单的枚举看起来和其他语言中的枚举类似。但是,在Java中,通过将枚举定义为一种类类型,极大地扩展了枚举的功能,使得枚举可以具有构造函数、方法以及实例变量
## **一、基础知识**
创建枚举需要使用到关键字 enum ,如下所示:
```java
enum Letter{
A,B,C,D
}
```
标识符 A、B、C、D 等被称为枚举常量,每个枚举常量被隐式声明为 Letter 的公有静态final成员。每个枚举常量的类型是声明它们的枚举的类型
定义了枚举后,可以创建枚举类型的变量,但是不能使用new关键字来实例化枚举,而是通过与基本类型类似的方式声明,例如:
```java
Letter letter1=Letter.A;
Letter letter2=Letter.B;
```
可以使用关系运算符“==”来比较两个枚举变量的相等性,例如:
```java
if (letter1 == letter2) {
System.out.println("相等");
} else {
System.out.println("不相等");
}
```
枚举值也可以用于控制switch语句,例如:
```java
switch (letter1) {
case A:
System.out.println("A");
break;
case B:
System.out.println("B");
break;
}
```
在case语句中,枚举常量的名称没有使用枚举类型的名称进行限定,即使用的是 A 而不是 Letter.A ,这是因为 switch 表达式中的枚举类型已经隐式指定了case常量的枚举类型,所以在case语句中不需要使用枚举类型的名称对常量进行限定,如果试图这么做,会造成编译时错误
当使用println() 语句输出枚举变量时,会输出变量指向的枚举常量的�