2012-02-29 61 views
1

我使用的是JDK 1.5,這裏是我的課:覆蓋annotaion和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 

問題是什麼?

回答

5

覆蓋註釋僅在重寫java 1.5中的類的方法時使用。它也適用於從Java 1.6實現接口方法。

2

在Java 1.5中,@Override註釋不允許用於實現接口方法的方法,僅適用於實際上覆蓋超類方法的方法。這在Java 1.6中發生了變化。