Page 277 - 6253
P. 277
System.out.println("season.name()=" + season.name() + " season.toString()=" + s
eason.toString() + " season.ordinal()=" + season.ordinal());
Результат:
season.name()=WINTER season.toString()=WINTER season.ordinal()=0
Отримаємо список всіх елементів enum-класу під час виконання. Для цих
цілей в кожному enum-класі компілятор створює метод:
public static EnumClass [] values (). Приклад використання:
System.out.println(Arrays.toString(Season.values()));
Результат:
[WINTER, SPRING, SUMMER, AUTUMN]
Чи може Enum успадковувати (implement) інтерфейс в Java? Так, Enum може
успадковувати інтерфейси. Оскільки Enum тип схожий з класом і інтерфейсом,
він може успадковувати інтерфейс. Це дає разючу гнучкість у використанні Enum
в якості спеціальної реалізації в деяких випадках.
Чи може Enum успадковувати (extends) клас? Ні не може! Несподівано,
оскільки раніше говорилося що Enum тип схожий на клас або інтерфейс в Java.
Ну, це головна причина, чому таке питання задають відразу за попереднім.
Оскільки Enum вже успадковується від абстрактного класу java.lang.Enum,
зрозуміло, що інший клас успадковувати не вдасться, оскільки Java не підтримує
множинне успадкування класів.
276