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 ?

Comment « super() » permet-il un appel de constructeur approprié et un accès à la méthode parent dans l'héritage Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-11 03:48:09163parcourir

How Does `super()` Enable Proper Constructor Invocation and Parent Method Access in Java Inheritance?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn