java - 接口(interface)内的枚举实现 - Java

标签 java interface enums enumeration

我有一个关于在接口(interface)中放置 Java 枚举的问题。 为了更清楚,请看以下代码:

public interface Thing{
   public enum Number{
       one(1), two(2), three(3);
       private int value;
       private Number(int value) {
            this.value = value;
       }
       public int getValue(){
        return value;
       }
   }

   public Number getNumber();
   public void method2();
   ...
}

我知道接口(interface)由具有空体的方法组成。但是,我在这里使用的枚举需要一个构造函数和一个方法来获取关联的值。在此示例中,建议的接口(interface)将不仅仅包含具有空主体的方法。是否允许此实现?

我不确定是否应该将枚举类放在接口(interface)中或实现该接口(interface)的类中。

如果我把enum放到实现这个接口(interface)的类中,那么public Number getNumber()方法需要返回enum的类型,这会迫使我在接口(interface)中导入enum。

最佳答案

interface 中声明enum 是完全合法的。在您的情况下,该接口(interface)仅用作枚举的命名空间,仅此而已。该接口(interface)在任何地方都可以正常使用。

关于java - 接口(interface)内的枚举实现 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15318796/

相关文章:

java - 如何使用 ICsvBeanWriter 在 java 中更改 csv 的标题颜色

c# - 创建泛型方法并使用类型参数

c# - C#中的多接口(interface)继承

haskell - 等效于 Haskell 的 WSGI/Rack 的标准 Web 服务器接口(interface)

C#define 语句、枚举、结构

使用反射调用 PumpEvents 时出现 java.lang.illegalArgumentException

java - 深度克隆的实践失败了

java - java websocket 上线后如何发送离线用户的消息?

java - 想要获取枚举值而不是 JSON 中的名称

java - Play 框架 scala 查询绑定(bind) java 类