クラス内で "Flags"のインタフェースを使用しています。私はオブジェクトとフラグインタフェースを実装することができるようにしたい、それは私がそれに入れてすべてのサブフラグを継承していJava内のネストされたインタフェース
public interface Flags
それを呼び出すことができます。例
public interface Flags{
static int flag1 = 0;
public interface Size{
public static int big = 1;
public static int small = 2;
public interface Direction{
public static int left = 3;
public static int right = 4;
は、だから私は何をしたいオブジェクトfooが
public class Foo implements Flags{}
をフラグクラスを実装し、すべてのサブフラグ(すなわち、右、左、大、小、FLAG1)へのアクセス権を持っていることです。
しかし、私はFOO1のサイズを実装し、サイズのみフラグ
public class Foo1 implements Flags.Size{}
へのアクセス権を持つことができますように、私もそれをしたい
私は、ネストされたインタフェースが可能であることを示している。このCan we define an interface within an interface?を見つけましたが、私はどのように確認していません私が探している方法でこれを行う。
私は単に私が探していることをやってみると大惨事になります。 は、私が何を意味するか、私はFooのは大きな旗にアクセスしたい場合、私はこれは理想からはほど遠い
public class Foo implements Flags{
final int size = Size.big;
}
次の手順を実行しなければならないだろうということです。私はずっとあなたが、この動作のために列挙型を使用していないのはなぜ以下
public class Foo implements Flags{
final int size = big;
}
インターフェイスの概念をクラスの概念と混在させているかもしれません。インターフェイスは特定の動作を約束しているため、実装するものはその動作を定義する必要があります。しかし、現在、クラスの機能であるフィールドを定義しようとしています。しかし、クラスを入れ子にすることができます! – Ishnark