【发布时间】:2011-02-08 04:40:41
【问题描述】:
这就是我想要完成的事情,我有一个包含一些值的枚举的类,我想继承它并向枚举添加更多值。这是一个不好的例子,但是:
public class Digits
{
public enum Digit
{
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
}
}
public class HexDigits extends Digits
{
public enum Digit
{
A, B, C, D, E, F
}
}
这样 HexDigits.Digit 包含所有的十六进制数字。这可能吗?
【问题讨论】:
-
答案是“否”(有关详细信息,请参阅下面的答案)。 Josh Bloch 的书 Effective Java 对此有很好的解释和解决方法。
-
我试过了,所以才在这里发帖!
-
所有枚举都隐式扩展 java.lang.Enum。由于 Java 不支持多重继承,枚举不能扩展其他任何东西。