3

空のインターフェースを拡張するのは正しいですか?あるときはクラスで、次回は別のクラスになる可能性のあるパラメーター(EventCLass myEvent)を持つメソッド(EventPlayer)が必要です。

public interface EventClass {
  // ... empty ...
}

public interface EventClassExt1 extends EventClass {

    public void firstEvent();

    public void secondEvent();
}


public interface EventClassExt2 extends EventClass {

    public void thirdEvent(String text);
}

public EventPlayer(final EventCLass myEvent) 
4

3 に答える 3

2

はい、それは正しいです。これはマーカーインターフェイスと呼ばれます。

http://en.wikipedia.org/wiki/Marker_interface_pattern

于 2013-01-22T09:53:41.803 に答える
2

はい、それは大丈夫です。

インターフェイスにメソッドがない場合、それは一般にマーカーインターフェイスと呼ばれます。SerializableJDKからのそのようなインターフェースの多くの例の1つです。

また、インターフェイス名に「クラス」を含めたくない場合もあります。ちょうどEvent良い選択です。

于 2013-01-22T09:54:56.837 に答える
1

他のオブジェクトが含まれていないクラスを拡張するのは正しいですか?

これは、空のインターフェイスを意味すると思います。

これは、クラスに署名するためのアノテーションが付けられる前にJavaでよく使用されていたものです(Java 5から)。

あなたがしていることは正しいです-基本的にあなたは拡張インターフェース/クラスタイプをマークしていますがEventClass、私はそれを行うための新しい方法であるアノテーションを使用します

http://tutorials.jenkov.com/java-reflection/annotations.html

于 2013-01-22T09:54:07.077 に答える