インターフェイスに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()は列挙型の型を返す必要があります。これにより、インターフェイスに列挙型をインポートする必要があります。