我遇到了以下问题,我无法从Java 1.5(java.lang包)中定义的此类进行扩展和实现。
我遇到的问题是创建自己的枚举类型,并具有不同的序列值。我不想通过使用不同名称的序列值来实现它,例如getCode()等。因此,我认为可以通过扩展上述类来实现此目的。
我希望在Enum中使用通常的命名,例如ordinal()和name()。
public abstract class Enum<E extends Enum<E>> {...
}..
我遇到的问题是创建自己的枚举类型,并具有不同的序列值。我不想通过使用不同名称的序列值来实现它,例如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;
}
}
我希望在Enum中使用通常的命名,例如ordinal()和name()。
ordinal
和name
是 final 的。问题是为什么我不能从上面的 Enum 类继承..如果我能够继承,我应该能够调用受保护的构造函数,该构造函数具有name
和ordinal
参数。 - khmarbaise