English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java에서 열거형의 생성자에서 다른 열거형 값을 호출하는 방법은 무엇입니까?

Java의 열거형(enum)은 일반적인 상수 값을 저장하는 데이터 타입입니다. 주기일, 연도의 월과 같은 고정 값을 저장할 수 있습니다.

키워드를 사용하여 enum 정의열거형이어서열거형 의 이름은-

enum Days {
   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

열거형의 메서드와 변수

열거형은 클래스와 유사하며, 변수, 메서드(전용 메서드만), 생성자를 포함할 수 있습니다.

열거형의 요소 값이 다음과 같을 때 가정합니다-

enum Scoters {
   ACTIVA125(80000), ACTIVA5G(70000), ACCESS125(75000), VESPA(90000), TVSJUPITER(75000);
}

생성자를 정의하려면 먼저 값을 저장할 인스턴스 변수를 선언해야 합니다.

private int price;

그런 다음, 위에서 생성한 인스턴스 변수를 초기화하는 파라미터화된 생성자를 선언합니다.

Scoters(int price) {
   this.price = price;
}

또 다른 초기화자를 사용하여 열거형의 값을 초기화합니다

또 다른 열거형의 값을 사용하여 열거형을 초기화합니다.

  • 필요한 열거형을 인스턴스 변수로 선언합니다.

  • 파라미터화된 생성자를 사용하여 초기화합니다.

예제

import java.util.Scanner;
enum State{
   Telangana, Delhi, Tamilnadu, Karnataka, Andhrapradesh
}
enum Cities {
   Hyderabad(State.Telangana), Delhi(State.Delhi), Chennai(State.Tamilnadu), Bangalore(State.Karnataka), Vishakhapatnam(State.Andhrapradesh);
   //인스턴스 변수
   private State state;
   //생성자를 통해 인스턴스 변수 초기화
   Cities(State state) {
      this.state = state;
   }
   //국가를 표시/지역의 정적 메서드
   public static void display(int model){
      Cities constants[] = Cities.values();
      System.out.println("칸치나는: ",+constants[model]+"은"+constants[model].state);
   }
}
public class EnumerationExample {
   public static void main(String args[]) {
      Cities constants[] = Cities.values();
      System.out.println("상수의 값: ");
      for(Cities d: constants) {
         System.out.println(d.ordinal())+: ""+d);
      }
      System.out.println("한 모델을 선택하세요: ");
      Scanner sc = new Scanner(System.in);
      int model = sc.nextInt();
      //숫자형의 정적 메서드 호출
      Cities.display(model);
   }
}

출력 결과

상수의 값:
0: 히در아바드
1: 델리
2: 칸치나
3: 벵고르
4: 비샤카파툰암
한 모델을 선택하세요:
2
칸치나는 타米尔나두 주의 도시입니다:

당신이 좋아할 만한 것