В следующем коде в качестве примера используется светофор:
public static void main(String[] args) {
Светофор = Светофор.КРАСНЫЙ;
System.out.println(light.time);
System.out.println(light.nextLigth());
// Метод ordinal() возвращает порядок объявления перечисления
System.out.println(light.ordinal());
// Метод значений() получает массив всех типов перечисления
for(Светофор1:light.values()){
System.out.println(light1.name());
}
// Метод valueOf() может преобразовать строку в соответствующий объект перечисления
System.out.println(light.RED ==light.valueOf("RED"));
}
общественное перечисление Светофор {
ЗЕЛЕНЫЙ(30) {
@Override
общественный светофор nextLigth() {
вернуть КРАСНЫЙ;
}
},
КРАСНЫЙ(30) {
@Override
общественный светофор nextLigth() {
вернуть ЖЕЛТЫЙ;
}
},
ЖЕЛТЫЙ(10) {
@Override
общественный светофор nextLigth() {
вернуть ЗЕЛЕНЫЙ;
}
};
публичный абстрактный светофор nextLigth();
личное время;
//Конструктор
частный светофор (int time) {
это.время = время;
}
общественный ИНТ getTime () {
время возврата;
}
}
}
В коде свет просто эквивалентен экземпляру родительского класса. Вы можете использовать его для получения подклассов каждой переменной-члена и вызова различных методов. Метод valueOf(String) может преобразовать строку в перечисление.