我有一个关于在接口中放置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(); ... }
我知道一个接口由带有 空主体 的方法组成。但是,我在这里使用的枚举需要一个构造函数和一个方法来获取关联的值。在此示例中,建议的接口将不仅包含空主体的方法。是否允许这种实现?
我不确定是否应该将枚举类放入接口或实现此接口的类中。
如果将枚举放入实现此接口的类中,则方法public Number getNumber()需要返回枚举的类型,这将迫使我将枚举导入接口。
在中有一个enum声明是完全合法的interface。在您的情况下,该接口仅用作枚举的命名空间,仅此而已。无论您在哪里使用该接口,都可以正常使用。
enum
interface