Maison  >  Article  >  Java  >  Présenter les différences et les liens entre la dérogation et la surcharge

Présenter les différences et les liens entre la dérogation et la surcharge

巴扎黑
巴扎黑original
2017-07-24 14:01:371700parcourir

1 Présentation

1. Qu'est-ce que la surcharge ?

Le mécanisme d'utilisation de paramètres formels pour distinguer plusieurs méthodes portant le même nom dans la même classe est appelé surcharge.

2. Qu'est-ce que la réécriture ?

La sous-classe hérite de la classe parent et le processus de remplacement de la méthode de la classe parent est appelé réécriture.

Deux comparaisons

1. Portée de l'occurrence

La réécriture se produit entre la classe parent et la child Entre classes, impliquant deux classes, une surcharge se produit au sein de la même classe.

2. Contraintes

Réécrire la sous-classe

  1. dans Lors du remplacement une méthode de classe parent, la valeur de retour doit être une sous-classe de la valeur de retour de la méthode de classe parent.

  2. Les droits d'accès de la classe parent ne peuvent pas être réduits, c'est-à-dire que si les droits d'accès de la méthode de la classe parent sont protégés, la sous-classe ne peut pas la changer en private lors du remplacement de la méthode.

  3. L'exception levée doit être une sous-classe de l'exception parent.

  4. Les méthodes statiques ne peuvent pas être remplacées.

  5. Les méthodes de type final ne peuvent pas être remplacées.

Surcharge
La surcharge distingue les méthodes du même nom en fonction de leurs paramètres formels, donc les paramètres formels entre les méthodes du même nom Ils ne peuvent pas être exactement les mêmes. Les types et les numéros des paramètres sont exactement les mêmes, mais l'ordre est différent et ils appartiennent à des paramètres formels différents.

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