以下代码在 public void control() {
附近给出错误。
EClipse 也给出了删除@Override 注释的提示。我经历了 docs.oracle并发现如果标有@Override 的方法无法正确覆盖其父类(super class)之一中的方法,编译器会生成错误。
我不明白“无法正确覆盖”是什么意思?
public class PersistenceFlowController implements controllers.FlowController {
@Override
public void control() {
// Do some works here
}
}
package controllers;
public interface FlowController {
void control();
}
最佳答案
在 JDK 1.5 中,@Override
只能应用于父类的方法。在 JDK 1.6 及更高版本中,它也可以用于接口(interface)方法。我的猜测是您将 Eclipse 设置为 JDK 1.5 编译器兼容。您可以在项目属性对话框的“Java 编译器”选项卡中检查或更改它。
关于java - 我必须删除@Override 注释吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9696019/