Java Eclipse @Override-Fehler

  • Ich schreibe eine Java-Klasse, die eine Schnittstelle namens Command implementiert, die die Methoden isValid() und run() wie folgt enthält:

     public class DailyEnergy implements Command {
    
      @Override
      public boolean isValid(String command) {
        return false;
      }
    
      @Override
      public void run(String command) throws Exception {
      }
    }
     

    und hier ist die Datei Command.java:

     public interface Command {
    
      public boolean isValid(String command);
      public void run(String command) throws Exception;
    }
     

    In dieser Klasse implementiere ich die Superklassenmethoden isValid() und run(), und ich möchte die Annotation @Override hinzufügen. Eclipse gibt jedoch einen Fehler aus, der besagt, dass "die Methoden Superklassenmethoden überschreiben".

    Auch wenn ich die Methoden herausnehme und automatisch mit Eclipse importiere, wenn ich die Anmerkung hinzufüge, erhalte ich den Fehler. Wenn jemand etwas Licht auf die Frage geben kann, warum ich die Annotation @Override nicht verwenden kann, wäre das sehr zu begrüßen.

    22 November 2011
    TNC
2 answers
  • Die Annotation @Override zu Schnittstellenimplementierungen wird seit Java-6 unterstützt. Bist du möglicherweise auf Java-5? Oracle hat ein Durcheinander im Java 6 - Dokumente . Es wurde in Java-7 korrigiert. Siehe Beispiel unten:

    Java Eclipse @Override-Fehler

    22 November 2011
    Sri Sankaran
  • Verwenden Sie JDK5? Ich denke daran, es ist ein Fehler in JDK5. @override ist bei der Implementierung der Schnittstelle in JDK5

    nicht zulässig
    22 November 2011
    biaobiaoqi