Super en Java

Siddharth Swami 12 octobre 2023
Super en Java

En Java, nous avons un mot-clé prédéfini super qui est quelque peu lié à la classe parente. Nous discuterons de la fonction super en détail dans ce tutoriel.

En Java, le mot-clé super agit comme une variable de référence pour les objets de la classe parente. Il peut être utilisé pour appeler les méthodes et les variables de la classe parent.

Par exemple

class Teacher { // Parent class
  int grade = 90;
}

class Students extends Teacher { // subclass
  Students() {
    System.out.println("Grade " + super.grade);
  }
}

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

Production:

Grade 90

Dans l’exemple ci-dessus, nous avons accédé à la variable grade de la classe parent Teacher à partir du constructeur de sa sous-classe Students en utilisant le mot-clé super.

Nous avons aussi la fonction super(), qui invoque le constructeur de classe du parent. Cette fonction n’est utilisée que pour appeler les constructeurs de la classe parent. Les constructeurs paramétriques et non paramétriques peuvent être appelés en utilisant la fonction super(). Si, d’une manière ou d’une autre, le constructeur n’invoque pas explicitement un constructeur de superclasse lors de l’utilisation de la fonction super(), alors le constructeur sans argument de la super-classe est appelé par le compilateur Java lui-même.

Voir le code ci-dessous.

class Teacher { // Parent class

  Teacher() // constructor
  {
    System.out.println("Teacher class Constructor");
  }
}
class Students extends Teacher { // subclass
  Students() {
    super();
    System.out.println("Students class Constructor");
  }
}

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

Production:

Teacher class Constructor
Students class Constructor

Nous avons créé une classe parent Teacher et un constructeur de classe parent dans le code ci-dessus, qui affiche un message. Ensuite, une sous-classe Students est étendue à partir de Teacher, qui a un constructeur Students qui consiste en la fonction super() pour invoquer le constructeur de la classe parent. Ensuite, nous avons la classe principale, qui appelle la sous-classe pour exécuter le programme. La fonction super() invoquait le constructeur de la classe parente pour imprimer le message de la classe parente puis de la sous-classe.

Article connexe - Java Class