Java | super()

Le mot-clé super en java est une variable de référence qui est utilisée pour référencer les objets de la classe mère. Le mot-clé super est principalement utilisé dans les contextes suivants:

  • Pour référencer une variable d’instance de la classe mère.
  • Pour appeler la méthode de la classe mère immédiate.
  • Pour appeler le constructeur de la classe mère immédiat.

 
 

1. Utilisation de super avec une variable d’instance:

Nous pouvons utiliser le mot-clé « super » pour accéder au membre de données de la classe mère. Il est utilisé si la classe mère et la classe fille ont les mêmes variables.

class A{
	String name = "A";
}

class B extends A {
	String name = "B";
	void showName(){
		//affiche le nom de la classe B
		System.out.println(name);
		//affiche le nom de la classe A
		System.out.println(super.name);
	}
}

class Main {
	public static void main(String args[]){
		B b = new B();
		b.showName();
	}
}

 
Sortie:

B
A

Dans l’exemple ci-dessus, A et B ont une propriété commune. Si nous affichons la propriété « name », elle affichera le nom de la classe actuelle par défaut. Pour accéder à la propriété de la classe mère, nous devons utiliser le mot-clé « super ».
 
 

2. Utilisation de super avec des méthodes:

Le mot-clé « super » peut également être utilisé pour appeler la méthode de la classe mère. Elle doit être utilisée si la sous-classe contient la même méthode que la classe mère. En d’autres termes, il est utilisé si la méthode est surchargée.

class A{
	void show(){ System.out.println("Ceci est la classe A."); } 
}

class B extends A {
	void show(){ System.out.println("Ceci est la classe B."); }  
	void display(){
		show();
		super.show();
	}
}

class Main {
	public static void main(String args[]){
		B b = new B();
		b.display();
	}
}

 
Sortie:

Ceci est la classe B.
Ceci est la classe A.

Dans l’exemple ci-dessus la classe A et B, les deux classes ont la méthode show() si nous appelons la méthode show() de la classe B, elle appellera la méthode show() de la classe B par défaut. Pour appeler la méthode de la classe mère, nous devons utiliser le mot-clé « super ».
 
 

3. Utilisation de super avec des constructeurs:

Le mot-clé « super » peut également être utilisé pour appeler le constructeur de la classe mère.

class A{
	A(){ System.out.println("A est créé."); } 
}

class B extends A {
	B(){ 
		super();
		System.out.println("B est créé."); 
	} 
}

class Main {
	public static void main(String args[]){
		B b = new B();
	}
}

 
Sortie:

A est créé.
B est créé.

Dans l’exemple ci-dessus, nous avons appelé le constructeur de la classe mère en utilisant le mot clé « super » via le constructeur de la classe fille.
QCM-Java

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *