Surcharge (méthode de sélection de rechargement):
Java permet à plusieurs méthodes dans une classe d'avoir le même nom, mais lorsque les noms sont les mêmes, les différents paramètres doivent être inclus. , Les erreurs de temps de compilation se produiront sans paramètres de correspondance ni ne recherchent plusieurs correspondances possibles.
La surcharge comprend: la surcharge de méthodes ordinaires et la surcharge de méthodes de constructeur
Méthode: c'est-à-dire qu'une fonction (que nous appelons collectivement dans le texte "méthode"), est un segment de programme fixe, ou un sous-programme, qui peut réaliser des fonctions de fonctionnement fixe. De plus, il a également une entrée et une sortie. appelé sortie signifie la fonction.
Généralement, une classe peut avoir plusieurs méthodes de surcharge, et différentes méthodes de surcharge dans la classe peuvent être conçues en fonction des différents besoins. Parmi eux, le nombre de paramètres, de types et même l'ordre de différents types de paramètres sont des surcharges différentes pour la même méthode. Par exemple, comme le montre la figure, la classe de chaîne que nous voyons souvent est un exemple typique.
PS Cet exemple corrige également une erreur ridicule que j'ai faite lorsque j'ai partagé mon expérience la dernière fois. Vérifiez à nouveau le titre, cela signifie qu'il est correct, c'est une surcharge, et il n'est pas écrit comme une réécriture.
Méthode / étape
Tout d'abord, écrivons un exemple complet. Il s'agit de la méthode la plus primitive, comme le montre la figure. Nous continuerons à apprendre chaque étape dans le futur et à recharger cette couche de méthode par couche.
1. Au début, discutons si le modificateur d'accès a un impact sur la discussion d'aujourd'hui. Autrement dit, ce ne sont pas les conditions nécessaires pour constituer différentes méthodes. En termes simples, la différence de méthodes n'a rien à voir avec le fait que le modificateur d'accès soit cohérent. Comme le montre la figure, si le modificateur d'accès est incohérent et que les paramètres sont les mêmes (ou aucun d'entre eux n'a des paramètres), Java leur est par défaut que la même méthode, de sorte que la compilation ne peut pas être transmise et une erreur est signalée.
2. Après avoir exclu les modificateurs d'accès, discutons de la différence de la valeur de retour peut être une autre façon de surcharger. type.
3. La seule différence suivante est les paramètres. Passons en pratique selon les situations. Le premier est des paramètres différents.
4. Dans la troisième étape, nous parlons de différents paramètres. Comme le montre la figure, les types de paramètres sont les mêmes, et ce sont les deux types entiers, mais les noms des paramètres formels sont différents, donc la compilation ne peut pas être transmise.
5. Aussi, la surcharge causée par différents paramètres. Nous pouvons écrire un autre exemple, 1 méthode sans paramètre, 1 méthode de paramètre int et deux méthodes de paramètre int, comme indiqué sur la figure:
6. À l'heure actuelle, nous avons atteint le lien clé. Y a-t-il d'autres types de surcharges différentes? quelques! Imaginez que les paramètres sont différents et que les nombres sont les mêmes. Oui! Deviné correctement! La commande est différente! Dans différents ordres, il existe encore différentes méthodes, ce qui permet également la surcharge. Comme indiqué dans l'image:
Voici un autre exemple simple
int sum (int m, int n) {return m + n;} int sum (int m, int n, int k) {return m + n + k;} double sum (double m, double n) {return m + n;} double somme (double m, double n, double k) {return m + n + k;} L'implémentation principale est la somme de la méthode surchargée, qui a la sémantique suivante:
sum (m, n): trouvez la somme des entiers m et n,
sum (m, n, k): trouvez la somme des entiers m, n et k,
sum (m, n): trouvez la somme des nombres réels m et n,
sum (m, n, k): trouvez la somme des nombres réels m, n et k.
Enfin, résumons que la surcharge ne se soucie que des paramètres.