Java枚举继承

Java枚举继承,java,Java,可能重复: 为什么Java中的枚举不能从其他枚举继承?为什么要这样实施? 因为向枚举添加元素 将有效地创建一个超级 类,而不是子类 考虑: 这与它的方式相反 与普通班一起工作。我想是吧 可以通过这种方式实现,但是 实施起来会更复杂 比看起来的要多,而且 当然让人困惑 我会重新措辞你的问题。为什么枚举不能有抽象基?Bill引用的问题的公认答案解释了为什么不能用其他值扩展Enum,但我仍然不清楚他们为什么不能共享一个基本实现。可能你想要的是首先实现MyInterface,然后实现MyInterfa

可能重复:

为什么Java中的枚举不能从其他枚举继承?为什么要这样实施?

因为向枚举添加元素 将有效地创建一个超级 类,而不是子类

考虑:

这与它的方式相反 与普通班一起工作。我想是吧 可以通过这种方式实现,但是 实施起来会更复杂 比看起来的要多,而且 当然让人困惑


我会重新措辞你的问题。为什么枚举不能有抽象基?Bill引用的问题的公认答案解释了为什么不能用其他值扩展Enum,但我仍然不清楚他们为什么不能共享一个基本实现。可能你想要的是首先实现MyInterface,然后实现MyInterface,然后使用MyInterface进行两个组的联合。第一个是a=Second。一个是非法语句?@TimothySwan引用的代码不会被编译,由于将在
enum第二个扩展前{Three,Four}
行抛出异常。
 enum First {One, Two}   
 enum Second extends First {Three, Four}   

 First a = Second.Four;   // clearly illegal 
 Second a = First.One;  // should work