我正在使用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
有什么问题?
答案 0 :(得分:6)
覆盖注释仅在重写java 1.5中的类的方法时使用。它也适用于从Java 1.6实现接口方法。
答案 1 :(得分:2)
在Java 1.5中,实现接口方法的方法不允许@Override
注释,仅适用于实际上覆盖超类方法的方法。这在Java 1.6中发生了变化。