1

J'ai créé l'interface suivante avec une seule méthode:Supprimer erreur d'annotation @Override dans Java8

public interface Greeting { 

    public void perform(); 
} 

je tentais de passer une instance de l'interface à la méthode greet().

public class Greeter { 

    public void greet(Greeting greeting){ 
    greeting.perform(); 
} 

public static void main(String[] args) {  
    Greeter greeter=new Greeter(); 
} 
} 

J'ai créé une implémentation de l'interface de voeux:

public class HelloWorldGreeting implements Greeting { 

@Override 
public void perform() { 
    System.out.println("Hello World"); 

} 
} 

Je recevais l'erreur (la méthode Perform() de type HelloWorldGreeting doit remplacer ou mettre en œuvre une méthode de supertype) avec une solution rapide comme " Supprimer l'annotation @Override "

J'ai également vérifié la configuration du compilateur. C'est seulement 1.8.

enter image description here

S'il vous plaît laissez-moi savoir pourquoi l'erreur vient ou me aider à corriger. Merci d'avance.

+1

Quelle est votre question? –

+2

Cela semble fonctionner correctement pour moi. –

+0

@ AaronN.Brock S'il vous plaît laissez-moi savoir pourquoi l'erreur vient ou m'aider à le réparer? – sbk

Répondre

1

Veuillez nous faire savoir pourquoi l'erreur survient ou m'aider à y remédier?

Cela peut se produire lorsque les derniers fichiers de classe ne sont pas générés à savoir, la signature de la méthode de remplacement ne correspond pas à parce que les fichiers de classe sont encore à l'ancienne référaient. Assurez-vous que le projet est construit correctement et que les derniers fichiers de classe sont générés.

Dans Eclipse, Projet (à la barre supérieure) -> propre et vérifier si les derniers fichiers de classe sont générés (dans le dossier project/target/classes ou tout autre que vous avez configuré). Assurez-vous également qu'il n'y a pas d'autres erreurs dans le projet qui pourraient empêcher la génération des fichiers de classe. Vous pouvez également regarder here pour savoir pourquoi le projet ne peut pas être construit.

+0

J'ai utilisé l'option Projet> valider. L'erreur a été résolue. Je vous remercie. – sbk

+0

super, oui, les erreurs de l'espace de travail fait échouer la construction du projet (c'est-à-dire, ne générera pas les fichiers .class en utilisant la dernière source) – developer

1

Vous avez coché la case "Utiliser la conformité à partir de l'environnement d'exécution sur le chemin de génération Java". Vous devez vous assurer que vous avez sélectionné un JRE 1.8 dans votre définition de Build Path. 1.5 JRE produira cette erreur.

0

On dirait que votre IDE Eclipse dispose d'une bibliothèque système JRE avant la configuration de 1.6 dans son chemin de compilation Java. Et pour rectifier cela, vous devez configurer votre bibliothèque système JRE (JDK1.8.0_xx) par défaut au lieu de la 1.5. Pour ce faire, vous devriez goto votre

projet

> Construire chemin> Configurer construire le chemin> Chemin de compilation Java> onglet Bibliothèques

Ici, vérifiez la bibliothèque système JRE. Très probablement, ce sera 1.5 parce que cette erreur se produit. Maintenant, cliquez sur Bibliothèque Ajouter Sélectionnez le type Bibliothèque -> Bibliothèque système JRE -> Suivant

Sélectionnez par défaut de l'espace de travail JRE (JDK 1.8.0_xx) en supposant que vous avez installé ce. Sinon, sélectionnez un autre jre installé sur votre système. Cliquez sur Terminer. enter image description here Votre JRE 1.8 doit être ajouté à la bibliothèque système JRE. Maintenant, supprimez JRE 1.5 du chemin de génération et cliquez sur Appliquer. Vérifiez votre compilateur Java Le niveau de conformité JDK est toujours de 1,8, puis effectuez une génération propre. Cela devrait résoudre le problème.