Introduction à Super Keyword en Java
Super est un mot clé utilisé pour appeler une fonction ou une méthode dans la superclasse. Cela sera défini à l'intérieur de la sous-classe. Les méthodes qui sont uniquement publiques et protégées peuvent être appelées à l'aide de ce mot clé. En d'autres termes, les méthodes privées et les méthodes statiques ne peuvent pas être appelées à l'aide de cela. Le super mot clé en java peut également être utilisé pour appeler les constructeurs de la classe parente. La syntaxe, des exemples et des détails supplémentaires sur le super mot-clé seront abordés dans les sections suivantes.
Syntaxe
super.<> or super((0 or more arguments));
Comment fonctionne Super Keyword en Java?
Comme déjà mentionné, super peut être utilisé à plusieurs reprises. Ils sont utilisés:
- Pour référencer la variable d'instance d'une classe parent immédiate.
- Pour faire référence à la méthode d'une classe parent immédiate.
- Pour référencer le constructeur d'une classe parent immédiate.
Voyons maintenant chacun d'eux en détail.
1. Pour référencer la variable d'instance d'une classe parent immédiate
Si les classes parent et enfant ont les mêmes membres de données, le mot clé Super peut être utilisé pour accéder au champ ou au membre de données de la classe parent. Une ambiguïté pour la machine virtuelle Java peut se produire dans ce cas.
Exemple:
class A (
protected String name="ann";
)
class B extends A (
public String name="Anna";
public void hello() (
System.out.println("I am " + name);
System.out.println("I am " + super.name);
)
)
Ici, deux classes A et B ont un nom de champ commun. Une fonction printType () à l'intérieur de la classe enfant utilise le mot clé super pour référencer le champ dans une classe parent.
2. Pour référencer la méthode d'une classe parent immédiate
La substitution de méthode est un processus par lequel une classe enfant déclare la même fonction ou méthode qui est déjà disponible dans la classe parente. Supposons que si un appel à la méthode se produit à partir de l'objet de la classe enfant, alors la méthode de la classe enfant uniquement sera appelée. Afin d'accéder à la méthode parent, un super mot-clé peut être utilisé.
Exemple:
class A (
protected String name="ann";
public void hello() (
System.out.println("I am " + name);
)
)
class B extends A (
public String name="Anna”;
public void hello() (
System.out.println("I am " + name);
)
public void test()
(
hello();
super.hello();
)
)
Ici, deux classes A et B ont la même méthode hello (). À l'aide d'un super mot clé dans la fonction test (), il est possible d'accéder à la méthode hello () d'une classe parente.
3. Pour référer le constructeur de la classe parent immédiate
Il est déjà connu qu'un constructeur (par défaut) est automatiquement appelé lorsque l'objet d'une classe est créé. Le mot clé super peut être utilisé pour appeler explicitement le constructeur de la superclasse à partir du constructeur de la sous-classe. Assurez-vous que super n'est utilisé qu'à l'intérieur du constructeur de la sous-classe et que c'est la première instruction à l'intérieur.
Exemple:
class A (
//constructor of parent class
A() ( System.out.println("I am Kavya Madhavan");
)
)
//child class
class B extends A (
//constructor of child class
B() (
super();
System.out.println("I am Dileep Menon"); ) )
Exemples de super mots clés en Java
Voici les différents exemples de super mot-clé en Java:
Exemple 1
Dans le programme suivant, un nom de variable commun est présent et super est utilisé pour appeler la variable dans une classe parente.
//Java program to illustrate Super keyword to refer instance variable
//parent class
class A (
protected String name="ann";
)
//child classs
class B extends A (
public String name="Anna";//variable which is same in parent class
//sample method
public void hello() (
System.out.println("I am " + name);
System.out.println("I am " + super.name);
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
objb.hello();//call the method in child class
)
)
Production:
Exemple - 2
Ce programme aide à démontrer le super mot-clé tout en se référant à la même méthode dans une classe parent. Ici, hello () est une méthode disponible dans les deux classes.
//Java program to illustrate Super keyword to refer same method in parent class
//parent class
class A (
protected String name="ann";
public void hello() (
System.out.println("I am " + name);
)
)
//child classs
class B extends A (
public String name="Anna";//variable which is same in parent class
//sample method which is same in parent class
public void hello() (
System.out.println("I am " + name);
)
//method to call the hello() method in parent and child class
public void test()
(
hello();
super.hello();
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
objb.test();//call the method in child class
) )
Production:
Exemple - 3
Ce programme appelle le constructeur de la classe parent à l'aide du super mot clé.
//Java program to illustrate Super keyword to refer constructor in parent class
//parent class
class A (
//constructor of parent class
A() (
System.out.println("I am Kavya Madhavan");
)
)
//child class
class B extends A (
//constructor of child class
B() (
super();
System.out.println("I am Dileep Menon");
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
)
)
Production:
Exemple - 4
Ce programme montre l'utilisation d'un super mot clé pour faire référence au constructeur paramétré d'une classe parent.
//Java program to illustrate Super keyword to refer parameterised constructor in parent class
//parent class
class A (
//constructor of parent class
A() (
System.out.println("I am Kavya Madhavan");
)
//parameterised constructor
A(String name) (
System.out.println("I am " + name);
)
)
//child class
class B extends A (
//constructor of child class
B() (
super("Renuka");
System.out.println("I am Dileep Menon");
)
)
//main class
public class SuperExample (
public static void main(String() args) (
B objb=new B();//object of child class
)
)
Production:
Conclusion
Super est un mot clé en Java qui est utilisé pour faire référence aux méthodes ou fonctions, aux variables ou attributs d'instance et aux constructeurs de la classe parente. Si un constructeur n'est pas déclaré, le compilateur crée automatiquement un constructeur par défaut. De même, le compilateur appelle automatiquement super () s'il n'est pas déclaré. Dans ce document, plusieurs aspects du super mot-clé sont expliqués en détail.
Articles recommandés
Ceci est un guide de Super Keyword en Java. Ici, nous discutons du fonctionnement du mot-clé dose super en java avec des exemples. Vous pouvez également consulter les articles suivants pour en savoir plus -
- JComponent en Java
- Constructeur en Java
- Qu'est-ce que l'héritage Java?
- Modificateurs d'accès en Java
- Méthode statique en PHP
- Héritage en PHP
- Guide complet de l'héritage en Python
- ce mot-clé en java | Exemples de ce mot-clé
- Méthode statique JavaScript | Comment travailler? | Exemples