我有以下四个班级:
public interface Account {}
public class SavingsAccount implements Account {}
public abstract class Parent {
protected abstract <T extends Account> List<T> getAccounts(List<String> ids);
}
public class Child extends Parent {
@Override
protected List<SavingsAccount> getAccounts(List<String> ids) {
return new ArrayList<>();
}
Run Code Online (Sandbox Code Playgroud)
}
这会在注释@Override上产生编译错误:
"方法不会覆盖其超类中的方法"
如果删除方法的参数,编译器不会抱怨.为什么它首先产生错误,为什么在删除参数时错误会消失?
| 归档时间: |
|
| 查看次数: |
45 次 |
| 最近记录: |