Junior
Peut-on redéfinir les constructeurs en Java?
sobes.tech IA
Réponse de l'IA
Non, en Java, les constructeurs ne sont pas redéfinis (overriding). La redéfinition concerne les méthodes de la classe enfant qui ont la même signature (nom, type de retour et liste de paramètres) qu'une méthode dans la classe parente.
Au lieu de redéfinir, en Java, on utilise la surcharge (overloading) pour les constructeurs. Cela signifie qu'il peut y avoir plusieurs constructeurs avec le même nom dans une classe, mais avec des listes de paramètres différentes (quantité, types ou ordre).
La classe enfant peut appeler les constructeurs de la classe parente en utilisant le mot-clé super(...).
Exemple de surcharge de constructeurs :
class MyClass {
int value;
String name;
// Constructeur par défaut
public MyClass() {
this.value = 0;
this.name = "default";
// Appel à un autre constructeur avec this()
this(0, "default");
}
// Constructeur surchargé avec un paramètre
public MyClass(int value) {
this.value = value;
this.name = "default";
}
// Constructeur surchargé avec deux paramètres
public MyClass(int value, String name) {
this.value = value;
this.name = name;
}
}