枚举类

在Java中,枚举(Enum)是一种特殊的类,用于定义一组常量。枚举类型是Java语言中的一个特性,它允许你定义一个类,其中包含一组预定义的常量。

以下是定义一个Java枚举的基本格式:

public enum EnumName {
CONSTANT1,
CONSTANT2,
CONSTANT3,
// ... 更多常量
}

这里的EnumName是你定义的枚举类型的名称,而CONSTANT1CONSTANT2CONSTANT3等是枚举常量,它们是枚举类型的实例。

枚举可以包含字段、方法和构造函数。例如:

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,每个枚举常量都必须实现这个方法。

枚举提供了一种类型安全的方式来处理一组固定的常量,并且可以包含自己的逻辑,这使得代码更加清晰和易于维护。