【发布时间】:2019-12-14 14:01:29
【问题描述】:
我有一个抽象类,我希望在其中有一个抽象方法接受消费者函数接口的参数,并让子类决定哪种类型应该参数化消费者。
我是这样试过的:
public void show(Consumer<?> validationHandler) {
this.validationHandler = validationHandler;
stage.show();
}
但在子类中,它说它不是正确的覆盖:
@Override
public void show(Consumer<Protection> validationHandler) {
super.show(validationHandler);
}
我的目标是能够在子实例上调用此方法,并在我将传递的消费者 lambda 中提供正确的类型。
你知道如何进行吗?
【问题讨论】:
-
您是否在基类中尝试过
Consumer<? extends ProtectionBase>? (ProtectionBase 是保护类的基类) -
你能告诉我们消费者是关于什么的吗?
标签: java generics inheritance overriding functional-interface