gpt4 book ai didi

java - 泛型 : Inheriting from an abstract class that implements an interface

转载 作者:太空狗 更新时间:2023-10-29 22:31:45 25 4
gpt4 key购买 nike

我有以下界面:

public interface SingleRecordInterface<T> {
public void insert(T object);
}

我有下面的抽象类(没有提到插入方法):

public abstract class AbstractEntry implements SingleRecordInterface<AbstractEntryBean> {
}

我有具体的类:

public class SpecificEntry extends AbstractEntry {
public void insert(SpecificEntryBean entry) {
// stuff
}
}

最后,SpecificEntryBean定义为:

public class SpecificEntryBean extends AbstractEntryBean {
}

我有以下错误:

The type SpecificEntry must implement the inherited abstract method SingleRecordInterface.insert(AbstractEntryBean)

鉴于 SpecificEntryBean 扩展了 AbstractEntryBean,我不明白此错误的原因。如何修复此错误?

最佳答案

你还需要让你的抽象类泛化:

public abstract class AbstractEntry<T extends AbstractEntryBean> implements SingleRecordInterface<T> {
}

然后对于你的具体类:

public class SpecificEntry extends AbstractEntry<SpecificEntryBean> {
}

关于java - 泛型 : Inheriting from an abstract class that implements an interface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9893481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com