Maison  >  Article  >  Java  >  Quelle est la différence entre la surcharge et la réécriture en Java

Quelle est la différence entre la surcharge et la réécriture en Java

王林
王林original
2020-10-19 15:25:5455309parcourir

La différence entre la surcharge et la réécriture en Java : 1. La surcharge se produit dans cette classe et la réécriture se produit entre la classe parent et la sous-classe ; 2. Le nom de la méthode surchargée doit être le même et la réécriture des noms de méthode ; sont identiques et les types de valeurs de retour doivent être les mêmes ; 3. Les listes de paramètres surchargées sont différentes et les listes de paramètres remplacées doivent être les mêmes.

Quelle est la différence entre la surcharge et la réécriture en Java

Surcharge (Surcharge)

(Tutoriel recommandé : cours Java)

La surcharge se produit dans cette classe, le nom de la méthode est le même, la liste des paramètres est différente, cela n'a rien à voir avec la valeur de retour, elle est uniquement liée au nom de la méthode, à la liste des paramètres et au type de paramètre

Surcharge (Surcharge) : Tout d'abord, elle se trouve dans une classe A ou sa sous-classe a le même nom de méthode, mais les paramètres de la méthode sont différents et le type de valeur de retour peut être identique ou différent.

(1) : Les noms de méthodes doivent être les mêmes

(2) : Les listes de paramètres des méthodes doivent être différentes.

(3) : Le modificateur d'accès et le type de valeur de retour peuvent être identiques ou différents.

En fait, pour faire simple : surcharger signifie écrire différentes méthodes pour différentes situations. Par exemple, dans la même classe, écrivez différents constructeurs pour initialiser différents paramètres.

Remplacement

Le remplacement se produit entre le parent et les sous-classes. Par exemple, toutes les classes héritent de la classe Object elle-même a des méthodes égales, hashcode et toString, etc. Le nom et la même liste de paramètres dans n'importe quelle sous-classe constituent un remplacement de méthode

Override (override) : représente généralement la relation entre la sous-classe et la classe parent. Son objectif principal est d'exprimer la relation entre la sous-classe et le parent. classe. Les caractéristiques sont : le nom de la méthode est le même, les paramètres sont les mêmes, mais l'implémentation spécifique est différente.

Caractéristiques de la réécriture :

(1) : Le nom de la méthode doit être le même et le type de valeur de retour doit être le même

(2) : La liste des paramètres doit être le même

(3) : Les autorisations d'accès ne peuvent pas être inférieures aux autorisations d'accès des méthodes remplacées dans la classe parent. Par exemple : Si une méthode de la classe parent est déclarée publique, alors la méthode ne peut pas être déclarée protégée lors de son remplacement dans la sous-classe.

(4) : Si la sous-classe et la classe parent sont dans le même package, alors la sous-classe peut remplacer toutes les méthodes de la classe parent, à l'exception des méthodes déclarées comme privées et finales.

(5) : La méthode constructeur ne peut pas être remplacée.

Pour faire simple : la classe d'implémentation spécifique n'est pas satisfaite de l'implémentation de la méthode de la classe parent et doit en écrire une qui satisfasse. elle-même.

Recommandations associées :

Démarrez avec Java

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn