您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么类不能扩展枚举?

为什么类不能扩展枚举?

我认为 他们这样做 的答案来自以下问题:

在您的示例中,如何实例化MyClass?用户永远不会(通过new MyEnum())显式实例化枚举。您必须执行类似的操作,MyClass.ASD但不确定如何运行。

基本上,我不知道您建议的添加内容将使用哪种语法。这可能就是为什么他们使他们进入决赛等…

编辑已添加

如果原始Enum的作者提前计划了(不太可能),并且您不担心线程安全过高,则可以执行以下操作:(顺便说一句,我可能会对任何在生产代码YMMV中实际执行过此操作的人大叫)

public enum ExtendibleEnum {

   FOO, BAR, ZXC;

   private Runnable anotherMethodRunme;  // exact Interface will vary, I picked an easy one
                           // this is what gets "injected" by your other class

   public void setAnotherMethodRunMe(Runnable r) {  // inject here
      anotherMethodRunme= r;
   }

   public void anotherMethod() {  // and this behavior gets changed
      anotherMethodRunme.run();
   }
}
其他 2022/1/1 18:33:40 有243人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶