Maison >Java >javaDidacticiel >Comment « super() » permet-il un appel de constructeur approprié et un accès à la méthode parent dans l'héritage Java ?
Explorer 'super()' : son rôle dans l'héritage Java
Le mot-clé 'super()' de Java joue un rôle crucial dans programmation orientée, en particulier lorsqu'il s'agit d'héritage. Voyons mieux comprendre son utilisation et ses capacités.
Appel du constructeur parent
'super()' est principalement utilisé pour invoquer le constructeur de la classe parent lors de la création d'une nouvelle sous-classe. objet. Il garantit que le code d'initialisation du parent s'exécute avant l'exécution du propre constructeur de la sous-classe.
Lorsque 'super()' est appelé sans aucun argument, il appelle par défaut le constructeur parent sans argument. Ceci est nécessaire pour garantir une initialisation correcte de l'objet et la configuration de l'état hérité.
Exemple :
class Parent { private String name; public Parent() { name = "Default parent name"; } } class Child extends Parent { public Child() { super(); // Calls the Parent constructor with no arguments } }
Passer des arguments au constructeur parent
'super ()' peut également être utilisé pour transmettre des arguments au constructeur parent. Ceci est utile lorsque le constructeur parent a plusieurs méthodes surchargées. En spécifiant des arguments spécifiques, vous pouvez appeler le constructeur parent souhaité.
Exemple :
class Parent { private String name; public Parent(String name) { this.name = name; } } class Child extends Parent { public Child(String name) { super(name); // Calls the Parent constructor with a name argument } }
Appel des méthodes parent
En plus d'invoquer le Constructeur parent, 'super' peut également être utilisé pour accéder aux méthodes et variables de la classe parent. Cela permet aux sous-classes d'étendre ou de remplacer le comportement hérité.
Pour appeler une méthode parent, utilisez la syntaxe 'super.methodName()'.
Exemple :
class Parent { public void printName() { System.out.println("Parent's name: " + name); } } class Child extends Parent { public void printChildName() { super.printName(); // Calls the printName() method from the Parent class } }
Pour des didacticiels détaillés et des explications supplémentaires, veuillez vous référer au lien de ressource fourni.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!