다음 코드는 신호등을 예로 사용합니다.
공개 정적 무효 메인(String[] args) {
신호등 = 신호등.RED;
System.out.println(light.time);
System.out.println(light.nextLigth());
// ordinal() 메소드는 열거형이 선언된 순서를 반환합니다.
System.out.println(light.ordinal());
// value() 메소드는 모든 열거 유형의 배열을 가져옵니다.
for(신호등 light1:light.values()){
System.out.println(light1.name());
}
// valueOf() 메소드는 문자열을 해당 열거 객체로 변환할 수 있습니다.
System.out.println(light.RED ==light.valueOf("RED"));
}
공개 열거형 신호등 {
그린(30) {
@보수
공개 신호등 nextLigth() {
빨간색을 반환합니다.
}
},
레드(30) {
@보수
공개 신호등 nextLigth() {
노란색을 반환합니다.
}
},
노란색(10) {
@보수
공개 신호등 nextLigth() {
녹색을 반환합니다.
}
};
공개 추상 신호등 nextLigth();
개인 시간;
//건설자
개인 신호등(int time) {
this.time = 시간;
}
공개 int getTime(){
복귀 시간;
}
}
}
코드에서 light는 상위 클래스의 인스턴스와 동일합니다. 이를 사용하여 각 멤버 변수의 하위 클래스를 가져오고 valueOf(String) 메서드를 호출할 수 있습니다.