2015-04-02 115 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> 
相关问题