在Java中,枚举(Enum)是一种特殊的类,用于定义一组常量。枚举类型是Java语言中的一个特性,它允许你定义一个类,其中包含一组预定义的常量。
以下是定义一个Java枚举的基本格式:
| public enum EnumName {CONSTANT1,
 CONSTANT2,
 CONSTANT3,
 
 }
 
 | 
这里的EnumName是你定义的枚举类型的名称,而CONSTANT1、CONSTANT2、CONSTANT3等是枚举常量,它们是枚举类型的实例。
枚举可以包含字段、方法和构造函数。例如:
| public enum Day {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
 
 public String toString() {
 return name().charAt(0) + name().substring(1).toLowerCase();
 }
 }
 
 | 
在这个例子中,Day枚举定义了一周的七天。name()方法返回枚举常量的名称,然后我们通过toString()方法将名称转换成更易读的形式。
枚举也可以包含构造函数,这允许你在创建枚举常量时初始化它们:
| public enum Operation {PLUS("+") {
 public double apply(double x, double y) { return x + y; }
 },
 MINUS("-") {
 public double apply(double x, double y) { return x - y; }
 },
 TIMES("*") {
 public double apply(double x, double y) { return x * y; }
 },
 DIVIDE("/") {
 public double apply(double x, double y) { return x / y; }
 };
 
 private final String symbol;
 
 Operation(String symbol) {
 this.symbol = symbol;
 }
 
 public String getSymbol() {
 return symbol;
 }
 
 public abstract double apply(double x, double y);
 }
 
 | 
在这个例子中,Operation枚举定义了四种数学运算,每个枚举常量都有一个与之关联的符号,并且有一个抽象方法apply,每个枚举常量都必须实现这个方法。
枚举提供了一种类型安全的方式来处理一组固定的常量,并且可以包含自己的逻辑,这使得代码更加清晰和易于维护。