泛型:从实现接口的抽象类继承

我有以下界面:

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 {

}

我有以下错误:

类型SpecificEntry必须实现继承的抽象方法SingleRecordInterface.insert(AbstractEntryBean)

考虑到SpecificEntryBean扩展了AbstractEntryBean,所以我不明白此错误的原因。如何解决此错误?

回答:

您还需要使抽象类通用:

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

}

然后针对您的具体课程:

public class SpecificEntry extends AbstractEntry<SpecificEntryBean> {

}

以上是 泛型:从实现接口的抽象类继承 的全部内容, 来源链接: utcz.com/qa/421506.html

回到顶部