En parlant de surcharge et d'écrasement à Java, tout le monde le connaît, mais j'écrirai ceci aujourd'hui.
Sujet de cet article:
1. Qu'est-ce que la surcharge
2. Qu'est-ce que la couverture
3. La différence entre les deux
Surcharge:
Dans une classe, si deux fonctions ou plus du même nom apparaissent, tant que le nombre de paramètres ou les types de paramètres sont différents, il peut être appelé surcharge de la fonction.
Autrement dit, lorsque la fonction a le même nom, ne regardez que la liste des paramètres. Cela n'a rien à voir avec le type de valeur de retour.
Faites attention à l'utilisation de la surcharge:
1. Lorsque vous utilisez la surcharge, vous ne pouvez passer que différents styles de paramètres. Par exemple, différents types de paramètres, différents nombres de paramètres et différents ordre de paramètres.
2. Le type d'exception et le nombre de méthodes n'affecteront pas la surcharge.
3. Pour la classe parent, la classe infantile peut surcharger une méthode avec le même nom que la méthode d'héritage dans la classe parent. Si une méthode a une autorisation d'accès dans la classe parent et est Priavte, elle ne peut pas être surchargée dans la classe infantile. S'il est défini, il ne définira qu'une nouvelle méthode et n'atteindra pas l'effet de la surcharge.
Outrepasser:
Lorsque exactement la même méthode apparaît dans la classe Parent Child, la création d'un objet de sous-classe exécutera les méthodes dans la sous-classe. Il semble que la méthode de la classe parent soit écrasée. Cette situation est donc une autre caractéristique de la fonction: l'écrasement.
Quand utiliser la couverture?
Lorsqu'une classe d'enfants hérite de la classe parent, le contenu fonctionnel de la classe parent doit être modifié, il peut être implémenté par des remplacements
Lorsque vous couvrez la méthode, faites attention à deux points:
1. Lorsqu'une sous-classe remplace la classe parent, il est nécessaire de s'assurer que les autorisations de la méthode de sous-classe doivent être supérieures ou égales aux autorisations de la méthode de la classe parent pour atteindre l'héritage. Sinon, la compilation échoue.
2. Lorsqu'ils sont couverts, ils sont statiques ou ne sont pas statiques. (Statique ne peut couvrir que statique ou être couvert par statique) Oui
3. La méthode modifiée finale est une méthode finale et ne peut pas être écrasée.
4. Lorsqu'une classe d'enfants remplace la méthode de la classe parent, elle ne peut lancer que moins d'exceptions que la classe parent, ou lancer des exceptions d'enfants de l'exception lancée par la classe parent, car la classe infantile peut résoudre certains problèmes de la classe parent et ne peut pas avoir plus de problèmes que la classe parent.
Différences entre la surcharge et l'écrasement:
1. Le remplacement d'une méthode est la relation entre la sous-classe et la classe parent, qui est une relation verticale; La surcharge d'une méthode est la relation entre les méthodes de la même classe, qui est une relation horizontale.
2. Le remplacement ne peut être causé que par une seule méthode, ou uniquement par une paire de méthodes; La surcharge d'une méthode est la relation entre plusieurs méthodes.
3. La liste des paramètres des exigences de couverture est la même; La liste des paramètres des exigences de surcharge est différente.
4. Dans la relation d'écrasement, le corps de la méthode est appelé en fonction du type de l'objet; La relation de surcharge est sélectionnée en fonction de la table de paramètres réelle et du tableau des paramètres formel au moment de l'appel.
Ce qui précède est la compréhension approfondie de la surcharge et de la couverture de Java qui vous est apportée par l'éditeur. J'espère que tout le monde pourra soutenir Wulin.com plus ~