java package - "Überschreibt eine Superklassenmethode" Fehler nach dem Importieren eines Projekts in Eclipse




6 Answers

Eclipse verwendet standardmäßig Java 1.5 und Sie haben Klassen, die Schnittstellenmethoden implementieren (die in Java 1.6 mit @Override kommentiert werden @Override , aber in Java 1.5 nur auf Methoden angewendet werden können, die eine Superklassenmethode überschreiben).

Gehen Sie zu Ihren Projekt- / IDE-Einstellungen und setzen Sie den Java-Compiler-Level auf 1.6 und stellen Sie sicher, dass Sie JRE 1.6 auswählen, um Ihr Programm von Eclipse aus auszuführen.

kopieren datei

Jedes Mal, wenn ich meine Projekte erneut in Eclipse importieren muss (wenn ich Eclipse neu installiert habe oder den Speicherort der Projekte geändert habe), sind fast alle überschriebenen Methoden nicht korrekt formatiert und verursachen den Fehler. The method must override a superclass method .

Es ist vielleicht erwähnenswert, dass dies bei Android-Projekten der Fall ist - aus welchen Gründen auch immer, die Werte des Methodenarguments sind nicht immer ausgefüllt, daher muss ich sie manuell ausfüllen. Zum Beispiel:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //These arguments have their correct names
    public void onCreateContextMenu(ContextMenu menu, View v, 
                                    ContextMenuInfo menuInfo) {                 
    }

});

wird anfänglich wie folgt bevölkert:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //This methods arguments were not automatically provided    
    public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                    ContextMenuInfo arg3) {
    }

});

Die seltsame Sache ist, wenn ich meinen Code entferne und Eclipse die Methode automatisch neu erstellt, verwendet er die gleichen Argumentnamen, die ich bereits hatte, also weiß ich nicht wirklich, wo das Problem ist, anders als die Methode automatisch zu formatieren mich.

Dies wird ein ziemlicher Schmerz, alle manuell überschriebenen Methoden manuell neu erstellen zu müssen. Wenn jemand erklären kann, warum das passiert oder wie es zu beheben ist .. Ich wäre sehr glücklich.

Vielleicht liegt es an der Art, wie ich die Methoden formatiere, die sich in einem Argument einer anderen Methode befinden?




Falls dies jemand anderem passiert, der sowohl Alphazero als auch Pauls Methode ausprobiert hat und immer noch nicht funktioniert hat.

Für mich hat Eclipse die Kompilierungsfehler irgendwie "zwischengespeichert", selbst nachdem ich ein Projekt> Säubern ... ausgeführt habe.

Ich musste "Projekt"> "Automatisch erstellen" deaktivieren, dann ein Projekt> "Säubern" ausführen und dann erneut erstellen.

Versuchen Sie im Zweifelsfall auch, Eclipse neu zu starten . Dies kann viele unangenehme, unerklärliche Fehler beheben.




Die Antwort von Paul arbeitete teilweise für mich. Ich hatte dann immer noch einen Fehler. Dazu musste ich auch zu Eigenschaften-> Projektfacetten gehen und dort die Java-Version von 1.5 auf 1.6 setzen.

Vielleicht hilft das.




Dies ist mein zweites Mal, dieses Problem zu begegnen. Zum ersten Mal nach der Empfehlung des Alphazeros funktionierte es. aber in der zweiten Zeit, die ich auf 1,6 eingestellt habe, funktioniert es nicht wie 'CACHE' diesen Fehler nach dem Reinigen und Neuaufbau.

Versuchen Sie, 'Automatisch erstellen' auszuschalten, wie Rollin's sagte -> Fehler immer noch hier!

Also habe ich das Problemprojekt (bereits auf 1.6 gesetzt) ​​aus dem Package Explorer entfernt und neu importiert -> es startet eine Neuerstellung und dieses Mal kein Fehler

Hoffe, dass das jemandem hilft




Gehe zu Windows-> Einstellungen -> Java -> Compiler -> Wählen Compiler Compliance Level zu 1.6 (welche Version Sie wollen) -> Übernehmen -> ok. jetzt seine Arbeit.




In meinem Fall passierte dieses Problem, als ich ein Maven-Projekt in Eclipse importierte. Um dies zu beheben, habe ich in pom.xml folgendes hinzugefügt:

<properties>
   ...
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>

Wechseln Sie dann im Kontextmenü des Projekts zu "Maven -> Projekt aktualisieren ..." und drücken Sie OK.

Das ist es. Hoffe das hilft.




Related

java android eclipse override superclass