我必须删除@Override注释吗?

时间:2012-03-14 04:39:05

标签: java annotations

以下代码在public void control() {附近发出错误。

EClipse还提供了删除@Override注释的提示。我去了docs.oracle,发现如果标有@Override 的方法无法正确覆盖其中一个超类中的方法,则编译器会生成错误。

我不明白“无法​​正确覆盖”是什么意思?

public class PersistenceFlowController implements controllers.FlowController {
   @Override
   public void control() {
      // Do some works here
   }
}


package controllers;
public interface FlowController {   
   void control();  
}

1 个答案:

答案 0 :(得分:18)

在JDK 1.5中,@Override只能应用于父类的方法。在JDK 1.6及更高版本中,它也可以用于接口方法。我的猜测是你已经为JDK 1.5编译器合规设置了Eclipse。您可以在项目属性对话框的“Java编译器”选项卡中检查或更改它。