4 Stimmen

Muss ich die @Override-Anmerkung entfernen?

Der folgende Code gibt einen Fehler in der Nähe der public void control() { .

EClipse gibt den Tipp, auch die @Override-Annotation zu entfernen. Ich habe mir die docs.orakel und stellte fest, dass Wenn eine mit @Override markierte Methode nicht korrekt außer Kraft setzt eine Methode in einer seiner Superklassen, erzeugt der Compiler einen Fehler.

Ich verstehe nicht, was mit "nicht korrekt überschreiben" gemeint ist?

public class PersistenceFlowController implements controllers.FlowController {
   @Override
   public void control() {
      // Do some works here
   }
}

package controllers;
public interface FlowController {   
   void control();  
}

19voto

Ernest Friedman-Hill Punkte 79357

Im JDK 1.5, @Override konnte nur auf Methoden einer übergeordneten Klasse angewendet werden. In JDK 1.6 und höher kann es auch für Schnittstellenmethoden verwendet werden. Ich vermute, dass Sie Eclipse auf JDK 1.5 Compiler-Konformität eingestellt haben. Sie können dies auf der Registerkarte "Java Compiler" des Projekteigenschaften-Dialogs überprüfen oder ändern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X