在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
,每个枚举常量都必须实现这个方法。
枚举提供了一种类型安全的方式来处理一组固定的常量,并且可以包含自己的逻辑,这使得代码更加清晰和易于维护。