내가 자바 1.5 (java.lang 패키지)은 <E는 열거을 확장 <E>>
public abstract class Enum<E extends Enum<E>> {...
}..
에 정의되어이 클래스를 확장하고 구현할 수있는 다음과 같은 문제를 통해 발견 내가 가진 문제는 다른 서수 값을 가진 내 자신의 enum 형식을 만드는 것입니다. 나는 getCode() 등등과 같은 서수의 다른 이름을 사용하여 구현하고 싶지 않다. 그래서 나는 위의 클래스를 확장하는 길로 갈 수 있다고 생각했다.
public final class XYZ extends Enum<XYZ> { //Does not work.
//
A("A", 1),
B("B", 7);
.
}
나는 다음 작업을 수행 할 수 있다는 것을 알고 :
public enum NEWEnum {
A(1),
B(7);
private int code;
private NEWEnum(int code) {
this.code = code;
}
public int getCode() {
return this.code;
}
}
내가 열거의 같은 서수() 대신 이름()에 보통 인 이름을 선호한다.
@RayToal '서수'와 '이름'이 최종임을 압니다. 문제는 왜 내가 위에서 열거 형 클래스에서 확장 할 수 없다는 것입니다. 확장 할 수 있다면'name'과'ordinal'을위한 매개 변수를 가진 protected 생성자를 호출 할 수 있어야합니다. – khmarbaise