Tout d'abord, parlons de la fonction générale de @Override :
1. Aidez-vous à vérifier si vous avez correctement remplacé les méthodes existantes dans la classe parent ;
2. Dites aux personnes qui lisent le code qu'il s'agit d'une méthode de réécriture.
Exemple :
Par exemple, nous avons maintenant une classe de base :
(Tutoriel vidéo recommandé : Tutoriel vidéo Java )
Maintenant, nous écrivons une sous-classe Apple, héritons de cette classe de base et remplaçons la méthode show_name() dans la classe de base.
Le résultat de l'exécution est que les mots Apple:2 seront imprimés.
En fait, lorsque nous remplaçons manuellement la méthode de la classe parent, il est facile de mémoriser incorrectement les paramètres de la méthode. Si vous n'ajoutez pas @Override à ce moment, l'éditeur ne vous demandera pas : Par exemple, si nous n'ajoutons pas cette balise, modifiez silencieusement les paramètres en type float.
À l'heure actuelle, nous n'avons pas réussi à écraser la méthode selon notre intention, donc un bug caché est né. Au contraire, l'effet de l'ajout d'Override est <.>
L'IDE a donné un message d'erreur, indiquant que notre méthode d'écrasement a échoué. est souvent le résultat lorsque l'on se prépare à surcharger la méthode. Au contraire, on surcharge la méthode. Un autre exemple : nous ajoutons maintenant une méthode privée à la classe Fruit et essayons de remplacer@Override private void grow(){ }dans Apple. En conséquence, le compilateur affichera une erreur. -erreur de niveau, mais il y en a Pour le moment, nous ne la trouverons pas : c'est-à-dire que nous essayons de remplacer la méthode privée, mais lorsque nous supprimons la balise Override, le compilateur ne signalera pas d'erreur et elle pourra être exécutée. En fait, la soi-disant croissance annulée chez Apple n'est qu'une méthode privée pour Apple elle-même. Une approche complètement nouvelle. Cela nous amène à une question : qu'est-ce que la réplication ? En orienté objet, seules les interfaces, les méthodes partagées et les méthodes héritées peuvent être remplacées. Mais après y avoir réfléchi à nouveau, j'ai réalisé : ce n'est pas qu'elles ne peuvent pas être remplacées, mais cela. il n'y a aucune priorité du tout. Le concept de méthodes privées ! C'est l'intention originale de la conception orientée objet. La méthode privée elle-même doit être encapsulée à l'intérieur de la classe et ne veut pas que d'autres la modifient ou s'y réfèrent en externe. Tutoriel recommandé :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!