Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Enum이 Java의 모든 클래스를 확장할 수 있습니까?

<시간/>

Java의 열거(enum)는 상수 값 집합을 저장하는 데이터 유형입니다. 열거를 사용하여 한 주의 일, 1년의 월 등과 같은 고정 값을 저장할 수 있습니다.

enum 키워드 다음에 열거 이름을 −

로 사용하여 열거를 정의할 수 있습니다.
enum Days {
   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

배열과 마찬가지로 열거형의 요소/상수는 위의 예에서 0부터 시작하는 숫자를 사용하여 식별됩니다. 날짜는 다음 그림과 같이 숫자를 사용하여 식별됩니다. -

Enum이 Java의 모든 클래스를 확장할 수 있습니까?

열거형은 클래스와 유사하며 그 안에 변수, 메서드 및 생성자가 있을 수 있습니다. 열거형에는 구체적인 메서드만 사용할 수 있습니다.

클래스 확장

모든 열거형은 모든 언어 열거형 유형의 기본 클래스인 Enum이라는 클래스를 내부적으로 확장합니다. Java는 다중 상속을 지원하지 않기 때문에 열거형으로 다른 클래스를 확장할 수 없으므로 컴파일 시간 오류가 생성됩니다.

다음 자바 스니펫에는 이름이 Sample인 클래스가 있고 Scooters라는 Enum 유형을 만들고 Sample 클래스를 확장하려고 했습니다.

import java.util.Scanner;
class Sample {
}
enum Scooters extends Sample {
}

출력

On executing, this class generates the following compile time error.
D:\>javac EnumExample.java
EnumExample.java:5: error: '{' expected
enum Scooters extends Sample{
              ^
EnumExample.java:5: error: ',', '}', or ';' expected
enum Scooters extends Sample{
                      ^
2 errors