Я пытаюсь передать подкласс в качестве параметра методу.До сих пор я не был успешным, и даже сказал, что это невозможно сделать на JavaМне нужно мнение о стеке потока и предложения, чтобы он работал.
Давайте предположим, что 'HelloEvent' расширяет 'Событие' ...
У меня есть метод:
public void addListener(Consumer<? extends Event> consumer) {
[...]
}
и другой метод:
public void listen(HelloEvent helloEvent) {
[...]
}
Я хочу сделать это:
addListener (this :: listen);
В IDEA у меня ошибка 'Не удается разрешитьметод прослушивания ».Конечно, это происходит потому, что «listen» - это не событие, а подкласс.
Есть ли способ сделать это?Может быть, это обходной путь?
Я пытался сделать так, чтобы он был функцией или заменял 'extends' на 'super', и он не работает.Я пытался решить эту проблему в течение нескольких недель.