Java - 可以接受任何子类的接口中的方法?

时间:2015-04-02 18:31:14

标签: java events generics

所以,我正在为我最近一直在玩的一些事件制作界面,到目前为止它看起来都像。

public interface Handler {

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

}

public interface Handler<T super Event> {

    void handle(T event);

}

如果不告诉我将实现类抽象化,它们都不会占用Event的子类。我能做些什么,或者我被迫抽象了?

1 个答案:

答案 0 :(得分:1)

  

这些都不会占用Event

的子类

您似乎正在避免解决问题的最明显的解决方案。

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

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

或在Java 8中,您将使用内置的。

Consumer<Event>