温馨提示×

java枚举类能包含方法吗

小樊
81
2024-11-15 21:04:12
栏目: 编程语言

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

0