У меня есть следующий интерфейс, который я хочу реализовать несколько раз в своих классах:
public interface EventListener<T extends Event>
{
public void onEvent(T event);
}
Теперь я хочу реализовать этот интерфейс следующим образом:
class Foo implements EventListener<LoginEvent>, EventListener<LogoutEvent>
{
@Override
public void onEvent(LoginEvent event)
{
}
@Override
public void onEvent(LogoutEvent event)
{
}
}
Однако это дает мне ошибку: Duplicate class com.foo.EventListener
в строке:
class Foo implements EventListener<LoginEvent>, EventListener<LogoutEvent>
Возможно ли реализовать интерфейс дважды с помощью разных дженериков? Если нет, то, что следующая ближайшая вещь, которую я могу сделать, чтобы достичь того, что я пытаюсь сделать здесь?