Java枚举继承

Szy*_*ski 43 java

可能重复:
向枚举添加值

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

Tof*_*eer 83

从这里偷来的例子

因为向枚举添加元素会有效地创建超类,而不是子类.

考虑:

 enum First {One, Two}   
 enum Second extends First {Three, Four}   

 First a = Second.Four;   // clearly illegal 
 Second a = First.One;  // should work
Run Code Online (Sandbox Code Playgroud)

这与常规类的工作方式相反.我想它可以通过这种方式实现,但实现起来会比看起来更复杂,而且肯定会让人感到困惑.

  • 可能你想要的是First实现MyInterface Second实现MyInterface然后使用MyInterface来实现两个组的联合 (3认同)
  • 先是a = Second.One是非法的陈述? (2认同)