是的,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
)。