Entfernen @Override-annotation Fehler in Java8
Habe ich die folgende Schnittstelle mit einer einzigen Methode:
public interface Greeting {
public void perform();
}
War ich versucht, übergeben Sie eine Instanz der Schnittstelle der greet () - Methode.
public class Greeter {
public void greet(Greeting greeting){
greeting.perform();
}
public static void main(String[] args) {
Greeter greeter=new Greeter();
}
}
Erstellte ich eine Umsetzung von Gruß-Schnittstelle:
public class HelloWorldGreeting implements Greeting {
@Override
public void perform() {
System.out.println("Hello World");
}
}
War ich immer die Fehlermeldung(Die Methode perform() der Typ HelloWorldGreeting muss überschreiben oder implementieren Sie eine Supertyp-Methode) mit einem quick-fix als "Remove @Override annotation"
Ich habe auch überprüft compiler-Konfiguration. Es ist nur 1.8.
Bitte lassen Sie mich wissen, warum der Fehler kommt, oder mir helfen es zu beheben. Vielen Dank im Voraus.
- Was ist deine Frage?
- Es scheint zu funktionieren gut für mich.
- Bitte lassen Sie mich wissen, warum der Fehler kommt, oder mir helfen es zu beheben?
- Ist das der einzige Fehler?
- Verwenden Sie die Java 1.8?
- ja bitte
- Ich bin in der Tat. mit 1.8
- Geht es Weg, wenn Sie wählen Sie "Source > Überschreiben/Implementieren von Methoden..." - option? Nevermind, ich erinnere mich an diesen Fehler. Überprüfen Sie Ihre build path JRE Auswahl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies kann passieren, wenn Sie die neueste class-Dateien werden nicht erzeugt D. H., die Methode überschreiben Signatur ist nicht passend, da die class-Dateien sind immer noch unter Bezugnahme auf alte. Ja, stellen Sie sicher, dass das Projekt korrekt erstellt und die neueste class-Dateien erzeugt werden.
In eclipse, Projekt (in der oberen Leiste) -> reinigen Sie und prüfen Sie, ob Sie die neueste class-Dateien generiert werden (in der
project/target/classes
Ordner oder jede andere, die Sie konfiguriert haben). Stellen Sie außerdem sicher, dass keine anderen Fehler vorhanden sind in das Projekt, das könnte verhindern, dass die class-Dateien. generation. Sie können auch suchen hier, warum ein Projekt nicht gebaut werden.Haben Sie die "use compliance aus der Umgebung, die zur Ausführung auf Java Build Path" - checkbox aktiviert. Sie brauchen, um stellen Sie sicher, Sie haben ausgewählt ein 1,8 JRE in deinem Build Path-definition. 1.5 JRE wird dieser Fehler erzeugt.
Sieht aus wie die IDE Eclipse eine JRE system library vor 1.6 konfiguriert in seiner Java Build Path. Und um dies zu beheben müssen Sie Ihre Workspace default JRE (JDK1.8.0_xx)'s system library anstatt der 1,5 eine. Um dies zu tun, sollten Sie springen Ihre
Projekt - > Build Path> Configure Build Path> Java Build Path > Registerkarte "Bibliotheken"
Hier, überprüfen Sie die JRE system library. Wahrscheinlich wird 1.5, weil denen dieser Fehler Auftritt.
Jetzt, klicken Sie auf Bibliothek Hinzufügen
Wählen Sie Bibliothek -> JRE System Library -> Nächste
Wählen Sie " Workspace default JRE (jdk 1.8.0_xx) unter der Annahme, dass Sie installiert haben. Sonst wählen Sie andere installierte jre auf Ihrem system.
Klicken Sie Auf Fertig Stellen.
Ihre JRE 1.8 Hinzugefügt werden sollen JRE system library.
Ziehen Sie jetzt die JRE 1.5 von der build-Pfad und klicken Sie auf Übernehmen.
Überprüfen Sie Ihre Java Compiler JDK compliance-Niveau ist immer noch 1,8 und dann sauber aufbauen. Dies sollte das Problem beheben.
Ich Stand vor dem ähnlichen problem, habe versucht, alle Lösungen, die hier erwähnt, aber nichts funktionierte für mich. So endlich habe ich entschlossen diesen Fehler durch ändern der
JRE System Library
optionAlternate JRE
wies aufjdk1.8.x_x
.Dank!