열거형 클래스 enum은 JDK1.5에서 도입되었습니다. 이전에는 열거형 클래스 대신 public static final int enum_value가 사용되었습니다. 열거 클래스 enum은 기본적으로 java.lang.Enum 클래스를 상속하는 특수 클래스입니다. 다른 일반 클래스와 마찬가지로 enum도 멤버 변수, 메서드 및 생성자를 가질 수 있으며 하나 이상의 인터페이스를 구현할 수도 있습니다.
1. 생성자가 있는 경우 반드시 private으로 꾸며주어야 합니다.
2. 열거형 클래스는 하위 클래스를 파생할 수 없습니다.
3. 열거 클래스의 모든 인스턴스는 첫 번째 줄에서 명확하게 정의되어야 합니다. 시스템은 프로그래머가 명시적으로 정의할 필요 없이 이러한 인스턴스에 공개 정적 최종 수정 사항을 자동으로 추가합니다.
4. 열거 클래스는 모든 열거 값을 쉽게 탐색할 수 있도록 기본적으로 value() 메서드를 제공합니다.
enum의 메서드(Enum에서 제공하는 메서드):
public final int CompareTo(E o) 동일한 유형의 열거형 값을 비교합니다.
public final int ordinal() 첫 번째 열거형 값에 대해 0부터 시작하여 열거형의 인덱스 값을 반환합니다.
public final String name()은 열거형 인스턴스 이름을 반환합니다.
public String toString()은 열거 출력 이름을 반환합니다.
신호등 예
public enum TrafficLight { RED("빨간색"), YELLOW("노란색"), GREEN("녹색"); private TrafficLight(String name) { this.name = name } public String getName(); 이름; } public void jude(TrafficLight light) { 스위치(light) { 케이스 RED: System.out.println("stop") break; System.out.println("go"); case GREEN: System.out.println("wait"); break; 기본값: break } } for (TrafficLight e : TrafficLight.values()) { System.out.println(e.name()) } }}