Java Eclipse @Override错误

时间:2011-11-22 01:12:50

标签: java eclipse interface override

我正在编写一个实现名为Command的接口的Java类,其中包含方法isValid()run(),如下所示:

public class DailyEnergy implements Command {

  @Override
  public boolean isValid(String command) {
    return false;
  }

  @Override
  public void run(String command) throws Exception {
  }
}

这是Command.java文件:

public interface Command {

  public boolean isValid(String command);
  public void run(String command) throws Exception;
}

在这个类中,我正在实现超类方法isValid()run(),我想添加@Override注释,但是Eclipse给出了一个错误,说“方法必须覆盖超类方法“。

即使我拿出方法并使用Eclipse自动导入它们,如果我添加注释,我也会收到错误。如果有人能够解释为什么我不能使用@Override注释,那将非常感激。

2 个答案:

答案 0 :(得分:46)

自Java-6以来,支持接口实现的@Override注释。你可能在Java-5上吗?甲骨文has acknowledgedJava 6 docs中搞得一团糟。它一直是corrected in Java-7。见下面的例子:

Check compiler setting

答案 1 :(得分:2)

你使用JDK5吗? 我想到的是,它是JDK5中的一个错误。在JDK5中实现接口时不允许使用@override