所以我有两个类,如下面的
public abstract class BaseFoo{
protected abstract GetModel getModel();
}
public class HybridBaseFoo extends BaseFoo {
@Override
protected HybridGetModel getModel() { // error here
}
}
HybridGetModel具有以下关系
public abstract class AbstractGetModel{
}
public class GetModel extends AbstractGetModel{
}
public class HybridGetModel extends GetModel{
}
但是我得到了The return type is incompatible with BaseFoo.getModel()
,我在代码中指出了错误。
答案 0 :(得分:1)
我可以重新创建错误的唯一方法是从getModel方法返回错误类型的对象
例如,这样可以正常工作:
public class HybridBaseFoo extends BaseFoo {
@Override
protected HybridGetModel getModel() {
return new HybridGetModel();
}
}
但这会产生错误incompatible types: java.lang.String cannot be converted to HybridGetModel
:
public class HybridBaseFoo extends BaseFoo {
@Override
protected HybridGetModel getModel() {
return ""; //error here
}
}
答案 1 :(得分:0)
您可以返回GetModel
:
public class HybridBaseFoo extends BaseFoo {
@Override
protected GetModel getModel() {
return new HybridGetModel();
}
}