2015-04-02 114 views
-1

所以,我正在爲我最近一直在玩的一些事件做一個界面,到目前爲止它看起來像。Java - 可以接受任何子類的接口中的方法?

public interface Handler { 

    void handle(Class<? extends Event> event); 

}

public interface Handler<T super Event> { 

    void handle(T event); 

}

這些都不需要事件的一個子類,而它告訴我,使實現類抽象。我能做些什麼嗎?還是我被迫抽象化?

+0

第二個應該正常工作,如果你參數化'implements'目標類型。不要使用原始類型。 – 2015-04-02 18:32:24

回答

1

這些都不需要事件

的子類,你似乎是避免最明顯的解決方案,將解決你的問題。

public interface Handle { 
    void handle(Event event); 
} 

public interface Handle<T extends Event> { 
    void handle(T event); 
} 

或Java中8你可以使用內置的。

Consumer<Event> 
相關問題