2017-03-03 14 views
1

列挙型で「リスナー」を実装する必要があるパラメーターとしてクラスを使用する方法を知っている人は誰ですか?列挙型で「リスナー」を実装するクラスを使用

たとえば、EventType.MY_LISTENER.register()でいくつかのクラスを動的にロードしたいとします。

Main.registerListener(this.clazz); 

の「Java:それはで私に構文エラーを示しているため、

public enum EventType { 
    GAME_START(GameStartListener.class); 

    private Class<?> clazz; 

    EventType(Class<?> clazz) { 
     this.clazz = clazz; 
    } 

    public void register() { 
     Main.registerListener(this.clazz); 
    } 
} 

は「GameStartListenerは、」「リスナー」を実装するクラスですが、私はこれを行う方法を本当にわかりません。互換性のない型:java.lang.Classをmy.package.Listenerに変換できません "

本当にありがとうございます。

答えて

0

Main.registerListenerのでListener種類を期待して、あなたは(あなたのGameStartListenerクラスについてのメタデータを保持するタイプ)ではなく、実際のGameStartListenerオブジェクト実際Class<GameStartListener>渡しています。

関連する問題