74 votes

Ce n' @Override veux dire?

public class NaiveAlien extends Alien
{

    @Override
    public void harvest(){}

}

J'ai essayé de comprendre le code de mon ami, et je ne reçois pas la syntaxe, @Override dans le code. Ce qui n'a que faire et pourquoi avons-nous besoin de codage? Merci.

135voto

EboMike Points 39257

C'est une indication pour le compilateur pour laisser savoir que vous êtes à la substitution de la méthode d'une classe parent (ou l'interface en Java 6).

Si le compilateur détecte qu'il n'y a pas de fonction pour remplacer, il vous avertira (ou une erreur).

C'est extrêmement utile pour identifier rapidement les erreurs typographiques ou de modifications de l'API. Disons que vous essayez de remplacer votre parent méthode de la classe harvest() mais il sort harvset(), votre programme en silence à l'appel de la classe de base, et sans @Override, vous n'avez aucun avertissement à ce sujet.

De même, si vous utilisez une bibliothèque, et dans la version 2 de la bibliothèque, harvest() a été modifié pour prendre un paramètre entier, vous ne pouvez plus l'ignorer. Encore une fois, @Override serait de vous parler rapidement.

31voto

nitin1706 Points 165

cette fonctionnalité est appelée annotaion. et cette"@override" est la syntaxe de l'utilisation de l'annotation de laisser compilateur de savoir, "hey Compilateur, je suis l'évolution de ce que la récolte n'en classe parent", ensuite immédiatement compilateur dit, "mec, vous êtes le nomme à tort, il ne garde jusqu'à ce que le temps vous le nommer correctement".

Donc, sans le "@override" annotation, l'erreur n'est générée, ce qui peut être considéré comme une nouvelle méthode de déclaration. et on va garder sur la recherche de l'erreur.

9voto

fastcodejava Points 22174

@Override signifie que vous êtes en surchargeant la méthode de classe de base. Dans java6, elle aussi signifie que vous êtes la mise en œuvre d'une méthode d'une interface. Elle vous protège contre les fautes de frappe lorsque vous pensez que sont le remplacement d'une méthode, mais vous fait une faute de frappe quelque chose.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X