是的,Java 枚举类(enum)可以包含方法。实际上,枚举类非常适合定义具有固定数量实例的常量以及与之相关的方法。枚举类中定义的方法可以是实例方法、类方法和静态方法。
以下是一个简单的 Java 枚举类示例,其中包含了一些实例方法、类方法和静态方法:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;
// 实例方法
public void printDay() {
System.out.println("Today is " + this);
}
// 类方法
public static Day getDayOfWeek(int dayOfWeek) {
for (Day day : Day.values()) {
if (day.ordinal() == dayOfWeek) {
return day;
}
}
throw new IllegalArgumentException("Invalid day of week: " + dayOfWeek);
}
// 静态方法
public static String getDayName(int dayOfWeek) {
Day day = getDayOfWeek(dayOfWeek);
switch (day) {
case SUNDAY:
return "Sunday";
case MONDAY:
return "Monday";
case TUESDAY:
return "Tuesday";
case WEDNESDAY:
return "Wednesday";
case THURSDAY:
return "Thursday";
case FRIDAY:
return "Friday";
case SATURDAY:
return "Saturday";
default:
throw new IllegalStateException("Unexpected value: " + day);
}
}
}
在这个示例中,我们定义了一个名为 Day
的枚举类,它包含了7个实例方法(printDay
),一个类方法(getDayOfWeek
)和一个静态方法(getDayName
)。