我有一个关于在接口(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/