覆盖注释和JDK 1.5

时间:2012-02-29 12:01:07

标签: java annotations override

我正在使用JDK 1.5,这是我的班级:

public final class Account implements ICAccount

{
//...
   @Override
   public ObjectID getId()
   {
      return new ObjectID(id);
   }
//...
}

Account会覆盖getId()

中的方法ICAccount

但是编译失败了。

Account.java  method does not override a method from its superclass  

如果我正在使用JDK 1.6,则编译成功。

在@Override注释的文档中,我看到了

Since:
1.5  

有什么问题?

2 个答案:

答案 0 :(得分:6)

覆盖注释仅在重写java 1.5中的类的方法时使用。它也适用于从Java 1.6实现接口方法。

答案 1 :(得分:2)

在Java 1.5中,实现接口方法的方法不允许@Override注释,仅适用于实际上覆盖超类方法的方法。这在Java 1.6中发生了变化。