Java 열거형은 일반적으로 1년의 4계절, 12개월, 일주일의 7일, 남동쪽, 북서쪽 방향 등과 같은 일련의 상수를 나타내는 특수 클래스입니다.
Java 열거형 클래스는 enum 키워드를 사용하여 정의되며 각 상수는 쉼표로 구분됩니다.
예를 들어 색상 열거 클래스를 정의합니다.
enum Color { RED, GREEN, BLUE; }
위 열거형 클래스 Color의 색상 상수에는 각각 빨간색, 녹색, 파란색을 나타내는 RED, GREEN, BLUE가 포함됩니다.
사용 예:
enum Color { RED, GREEN, BLUE; } public class Test { // 执行输出结果 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); } }
위 코드 실행 결과는 다음과 같습니다.
RED
내부 클래스에서 열거형 사용
열거 클래스는 내부 클래스에서도 선언할 수 있습니다.
public class Test { enum Color { RED, GREEN, BLUE; } // 执行输出结果 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); } }
위 코드 실행 출력 결과는 다음과 같습니다.
RED
각 열거형은 Class를 통해 내부적으로 구현되며 모든 열거형 값은 public static final입니다.
위 열거형 클래스 색상 변환은 내부 클래스에서 구현됩니다:
class Color { public static final Color RED = new Color(); public static final Color BLUE = new Color(); public static final Color GREEN = new Color(); }
열거 요소 반복
for 문을 사용하여 열거 요소를 반복할 수 있습니다.
enum Color { RED, GREEN, BLUE; } public class MyClass { public static void main(String[] args) { for (Color myVar : Color.values()) { System.out.println(myVar); } } }
위 코드 실행의 출력 결과는 다음과 같습니다. :
RED
GREEN
BLUE
열거 클래스를 스위치에 사용하세요.
열거 클래스는 스위치 문에서 자주 사용됩니다.
enum Color { RED, GREEN, BLUE; } public class MyClass { public static void main(String[] args) { Color myVar = Color.BLUE; switch(myVar) { case RED: System.out.println("红色"); break; case GREEN: System.out.println("绿色"); break; case BLUE: System.out.println("蓝色"); break; } } }
위 코드를 실행한 결과는 다음과 같습니다.
blue
values(), ordinal() 및 valueOf() 메소드로 정의된 열거형 클래스
enum은 기본적으로 java.lang.Enum 클래스를 상속하고 java.lang.Seriablsible 및 java.lang.Comparable 두 인터페이스를 구현합니다.
values(), ordinal() 및 valueOf() 메소드는 java.lang.Enum 클래스에 있습니다.
enum Color { RED, GREEN, BLUE; } public class Test { public static void main(String[] args) { // 调用 values() Color arr[] = Color.values(); // 迭代枚举 for (Color col : arr) { // 查看索引 System.out.println(col + " at index " + col.ordinal()); } // 使用 valueOf() 返回枚举常量,不存在的会报错 IllegalArgumentException System.out.println(Color.valueOf("RED")); // System.out.println(Color.valueOf("WHITE")); } }
위 코드를 실행한 결과는 다음과 같습니다.
RED at index 0
GREEN at index 1
BLUE at index 2
RED
열거 클래스 멤버
열거는 일반 클래스처럼 사용할 수 있습니다. . 변수, 메소드 및 생성자, 생성자는 전용 액세스 수정자만 사용할 수 있으므로 외부에서 호출할 수 없습니다.
열거에는 구체적 메소드와 추상 메소드가 모두 포함될 수 있습니다. 열거형 클래스에 추상 메서드가 있는 경우 열거형 클래스의 모든 인스턴스는 이를 구현해야 합니다.
enum Color { RED, GREEN, BLUE; // 构造函数 private Color() { System.out.println("Constructor called for : " + this.toString()); } public void colorInfo() { System.out.println("Universal Color"); } } public class Test { // 输出 public static void main(String[] args) { Color c1 = Color.RED; System.out.println(c1); c1.colorInfo(); } }
위 코드를 실행한 결과는 다음과 같습니다.
Constructor Called for : RED
Constructor Called for : GREEN
Constructor Called for : BLUE
RED
Universal Color
추천 튜토리얼: "Java Tutorial"
위 내용은 JAVA 열거형(enum)에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!