Ho un fastidioso problema con le annotazioni @Override
in Eclipse. Spesso quando importo progetti di lavoro su un nuovo PC, Eclipse contrassegna alcune delle annotazioni @Override
come errate. Se rimuovo le annotazioni, tutto va bene ed Eclipse indica anche che i metodi stanno sovrascrivendo i metodi dei genitori, ma aggiungendo l'annotazione Override provoca nuovamente l'errore. Attualmente sto lavorando su un progetto Android quindi potrebbe essere un problema con Android e non con Eclipse ..Bug con annotazioni Override in Eclipse
risposta
Questo è molto probabilmente perché stai passando da Java 1.5 a Java 1.6. In 1.5 non è possibile contrassegnare le implementazioni dell'interfaccia con @Override, ma è possibile farlo in 1.6.
Una rapida ricerca su Google alzato questa buona spiegazione della differenza in questa annotazione tra le due versioni: http://www.techienuggets.com/CommentDetail?tx=38155
Semantica di @Override è diverso in JDK 1.5 e JDK 1.6. In JDK 1.5, l'annotazione @Override non è consentita per le implementazioni dei metodi dichiarate in un'interfaccia, mentre sono consentite in JDK 1.6 mentre . Per ulteriori informazioni , vedi:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5008260 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6399361 http://blogs.oracle.com/ahe/?entry=override
È fatto che la descrizione dell'annotazione Override non è stato aggiornato nella documentazione API JDK. Questo è stato segnalato come un bug:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6501053bugdatabase/view_bug.do?bug_id=6501053
Scusa, newb qui, cosa si può fare per sbarazzarsi di questi errori? Ho aggiornato il mio livello di conformità del codice Java a 1.6 e vedo ancora l'errore, forse qualcos'altro è sbagliato. –
Assicurarsi che l'SDK Java utilizzato sia aggiornato e che eclissi utilizzi la versione SDK corretta (se ne hai più di uno installato) e tratta il tuo progetto Android con la versione SDK corretta ...
basta andare a
window -> prefrences -> java -> compiler
e impostarlo a 1,6 come notazione parte da 1,6 quindi se il livello compilence sarà inferiore a 1.6 lo farà restituisce l'errore
Mi ha aiutato molto su ADT17 –
Ci sono alcuni punti in cui sono configurate le impostazioni del compilatore Java.
Un modo è a Window->Preferences->Java->Compiler->Compiler Compliance Level -> set 1.6 or above
. Un altro modo è fare clic destro sul Project->Properties->Java Compiler->JDK Compliance -> Select 1.6 or above.
Inoltre è possibile deselezionare "Attiva progetto Impostazioni specifiche", questo eliminerà futuri errori di conformità del compilatore JDK. Rimuovi più istanze di versioni JDK, a meno che non siano necessari progetti diversi.
Questo ha risolto il mio problema. Le mie preferenze di Eclipse erano a 1.6 e lo erano sempre state, ma il mio progetto in qualche modo si è ridotto a 1.5. – kjl
possibile duplicazione di errori di tipo "Sostituisci un metodo di superclasse" dopo l'importazione di un progetto in Eclipse] (http://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing -a-project-in-eclipse) – cHao
potrebbe aiutare a menzionare domande duplicate su http://stackoverflow.com/questions/1678122/must-override-a-superclass-method-errors-after-importing-a-project- in-eclissi ... ma non so come contrassegnarlo come tale –