Переопределить аннотации и JDK 1.5 - PullRequest
1 голос
/ 29 февраля 2012

Я использую 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 ]

6 голосов
/ 29 февраля 2012

Аннотация Override используется только при переопределении методов из классов в Java 1.5. Это также работает для реализации методов интерфейса из Java 1.6.

2 голосов
/ 29 февраля 2012

В Java 1.5 аннотация @Override не разрешена для методов, реализующих интерфейсный метод, только для методов, которые фактически переопределяют методы из суперкласса. Это изменилось в Java 1.6.

...