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