Can enums be subclassed to add new elements?

前端 未结 15 2080
臣服心动
臣服心动 2020-11-22 12:02

I want to take an existing enum and add more elements to it as follows:

enum A {a,b,c}

enum B extends A {d}

/*B is {a,b,c,d}*/

Is this po

15条回答
  •  时光说笑
    2020-11-22 12:38

    No, you can't do this in Java. Aside from anything else, d would then presumably be an instance of A (given the normal idea of "extends"), but users who only knew about A wouldn't know about it - which defeats the point of an enum being a well-known set of values.

    If you could tell us more about how you want to use this, we could potentially suggest alternative solutions.

提交回复
热议问题