1. 定义枚举:
// 定义一个简单的枚举类型
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
2. 枚举常量和方法:
// 枚举可以包含字段和方法
enum Month {
JANUARY("Jan"), FEBRUARY("Feb"), MARCH("Mar"), APRIL("Apr"),
MAY("May"), JUNE("Jun"), JULY("Jul"), AUGUST("Aug"),
SEPTEMBER("Sep"), OCTOBER("Oct"), NOVEMBER("Nov"), DECEMBER("Dec");
private String abbreviation;
// 枚举构造方法
Month(String abbreviation) {
this.abbreviation = abbreviation;
}
// 枚举方法
public String getAbbreviation() {
return abbreviation;
}
}
3. 使用枚举:
public class EnumExample {
public static void main(String[] args) {
// 使用枚举常量
Day today = Day.WEDNESDAY;
System.out.println("Today is: " + today);
// 遍历枚举
System.out.println("Days of the week:");
for (Day day : Day.values()) {
System.out.println(day);
}
// 使用带有字段和方法的枚举
Month currentMonth = Month.MARCH;
System.out.println("Current month: " + currentMonth);
System.out.println("Abbreviation: " + currentMonth.getAbbreviation());
}
}
在上述示例中,Day 是一个简单的枚举,表示一周的每一天。而 Month 是一个包含字段和方法的枚举,表示一年的每个月。
4. 枚举的特性:
- 类型安全: 枚举提供了类型安全的方式来表示常量,防止使用无效的常量值。
- 遍历: 枚举常量可以通过 values() 方法进行遍历。
- 字段和方法: 枚举可以包含字段和方法,使其更具有灵活性。
5. 枚举实现接口:
// 枚举可以实现接口
interface Colorful {
String getColor();
}
enum RainbowColor implements Colorful {
RED("Red"), ORANGE("Orange"), YELLOW("Yellow"),
GREEN("Green"), BLUE("Blue"), INDIGO("Indigo"), VIOLET("Violet");
private String color;
RainbowColor(String color) {
this.color = color;
}
public String getColor() {
return color;
}
}
在这个例子中,RainbowColor 枚举实现了 Colorful 接口。
枚举是一种有助于编写更清晰、更具可读性的代码的强大工具。
转载请注明出处:http://www.zyzy.cn/article/detail/13486/Java