java如何定义一个枚举类型
定义枚举类型的基本语法
在Java中,枚举类型通过enum关键字定义,其语法结构如下:
public enum EnumName {
CONSTANT1,
CONSTANT2,
// 更多枚举常量
}
枚举常量通常使用大写字母命名,多个常量之间用逗号分隔,最后一个常量后可以省略逗号。
添加字段和方法
枚举类型可以包含字段、构造方法和方法,实现更复杂的行为:

public enum Color {
RED("#FF0000"),
GREEN("#00FF00"),
BLUE("#0000FF");
private String hexCode;
// 枚举的构造方法必须是私有的
private Color(String hexCode) {
this.hexCode = hexCode;
}
public String getHexCode() {
return hexCode;
}
}
每个枚举常量调用构造方法初始化,字段和方法通过实例访问。
实现接口
枚举类型可以实现接口,为所有常量提供统一行为:

public interface Displayable {
void display();
}
public enum Status implements Displayable {
ACTIVE {
@Override
public void display() {
System.out.println("Running");
}
},
INACTIVE {
@Override
public void display() {
System.out.println("Stopped");
}
};
}
使用枚举
枚举类型通过常量名直接引用,常用方法包括:
values():返回所有枚举常量的数组valueOf(String name):根据名称返回对应的枚举常量ordinal():返回枚举常量的序数(声明位置)
示例:
Color red = Color.RED;
System.out.println(red.getHexCode()); // 输出 #FF0000
for (Status status : Status.values()) {
status.display();
}
枚举的高级特性
枚举支持switch语句,可定义抽象方法强制每个常量实现特定逻辑:
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; }
};
public abstract double apply(double x, double y);
}






