Comment implémenter le masquage de méthode en Java

Cet article vous fournira des connaissances détaillées et complètes sur la façon d'implémenter le masquage de méthode en Java avec des exemples.

Dans , vous devez faire attention à la possibilité de masquer la méthode. Une méthode créée avec le même type et la même signature dans la sous-classe peut masquer des variables dans une superclasse. Dans cet article, nous allons comprendre le masquage de méthode en Java de la manière suivante:



Qu'est-ce que le masquage de méthode?

Le masquage de méthode est fonctionnellement très similaire au remplacement de méthodes. En remplaçant si vous créez une méthode dans une sous-classe avec le même type et la même signature dans la sous-classe, cela permet d'appeler des méthodes en fonction du type d'instance.



Logo Java

Dans le cas de méthodes statiques de même type etsignature dans la superclasse et la sous-classe alors, la méthode de la sous-classe cache la méthode dans la superclasse.



Méthode masquant le code Java

package com.test class Parent {public static void foo () {System.out.println ('Inside foo method in parent class')} public void bar () {System.out.println ('Inside bar method in parent class' )}} classe Enfant étend Parent {// Masquage de public static void foo () {System.out.println ('Inside foo method in child class')} // Remplacement de public void bar () {System.out.println (' Méthode de la barre intérieure dans la classe enfant ')}} Classe publique Code {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ Masquage de méthode ******************* ') p.foo () // Ceci appellera la méthode dans la classe parent c .foo () // Ceci appellera la méthode de la classe parent System.out.println ('**************** Méthode remplaçant ************ ******* ') p.bar () // Ceci appellera la méthode dans la classe parent c.bar () // Cela appellera la méthode dans la classe enfant}}

Production:

comment utiliser la classe scanner en java

Au dessusPar exemple, la sous-classe Child a la méthode statique foo () ayant le même nom et la même signature qu'une méthode statique de la super-classe Parent. Lorsque nous appelons p.foo () et c.foo (), cela appelle la méthode foo () dans la classe parent



contrairement à la substitution de méthode où p.bar () appelle la méthode dans la classe parent et c.bar () appelle la méthode dans la classe enfant.

Comme les méthodes statiques sont résolues au moment de la compilation pendant la compilation, la première classe parente est respectée, puis la classe enfant, et nous ne pouvons pasont deux méthodes statiques avec le même nom les deux méthodes foo sont résolues comme la méthode foo () de la classe parent.

Sommaire

Si une sous-classe a une méthode statique avec le même nom et la même signature qu'une méthode statique de la superclasse, alors la méthode de la super-classe sera appelée indépendamment du fait qu'elle soit appelée depuis la classe enfant ou la classe parent.

lancer vs lancer vs jetable en java

En cas de remplacement de méthode, nous remplaçons la méthode de la classe parente, c'est-à-dire si une sous-classe a une méthode non statique avec le même nom et la même signature qu'une méthode non statique dans la superclasse, les méthodes respectives sont appelées en fonction de la référence utilisée, c'est-à-dire si de la classe parent est utilisée pour appeler une méthode non statique dans la classe parent, puis la méthode de la classe parent est utilisée et si l'objet de la classe enfant est utilisé pour appeler une méthode non statique dans la classe enfant, la méthode de la classe enfant est utilisée.

Avec cela, nous arrivons à la fin de cet article Méthode se cachant dans Java. Vérifiez par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog «Méthode cachée en Java» et nous vous répondrons dans les plus brefs délais.