我的界面是:
public interface SalesForceRecordService<T extends SalesForceRecord> {
T update(T record) throws IOException;
}
我的实现类是:
public class SalesForceRecordServiceImpl<T extends SalesforceRecordImpl> implements SalesforceRecordService {
@Override
public T update(T record) throws IOException {
return null;
}
}
@Override
给出错误,方法不会覆盖其父类(super class)中的方法。
我无法理解问题所在。
最佳答案
您必须将类型传递给父类(super class),因为它需要一个类型。如果您希望您的 SalesForceRecordServiceImpl
也像您发布的那样是通用的,请将 T
传递给 SalesForceRecordService
。
试试这个:
public class SalesForceRecordServiceImpl<T extends SalesForceRecordImpl>
implements SalesForceRecordService<T> {
@Override
public T update(T record) throws IOException {
return null;
}
}
从它的名称来看,SalesForceRecordImpl
在我看来像是一个具体的实现,所以也许您只是想要这个:
public class SalesForceRecordServiceImpl
implements SalesForceRecordService<SalesForceRecordImpl> {
@Override
public SalesForceRecordImpl update(SalesForceRecordImpl record)
throws IOException {
return null;
}
}
关于java - 通用接口(interface)实现不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26880450/