Maison > Java > javaDidacticiel > Que signifie super() en Java

Que signifie super() en Java

下次还敢
Libérer: 2024-04-27 00:15:25
original
1117 Les gens l'ont consulté

Le mot-clé super() est utilisé pour appeler le constructeur de la classe parent dans le constructeur de la sous-classe Java afin de garantir que les variables d'instance de la classe parent sont correctement initialisées. La syntaxe est super() (pas de paramètres) ou super (paramètres).

Que signifie super() en Java

super() : Appel du constructeur de la classe parent en Java

En Java, le mot-clé super() est utilisé pour appeler le constructeur de la classe parent. Il s'agit de la première instruction du constructeur de sous-classe et est responsable de l'initialisation des variables d'instance de la classe parent. super() 关键字用于调用父类的构造函数。它是子类构造函数中的第一个语句,负责初始化父类的实例变量。

为什么要调用父类构造函数?

当子类实例化时,Java 首先调用父类的构造函数。这确保了父类的实例变量正确初始化。如果子类未明确调用父类构造函数,则 Java 将自动调用无参构造函数。但建议显式调用父类构造函数,因为它可以明确指定要调用的构造函数,并避免意外行为。

语法:

super() 关键字可以带有或不带参数:

  • 无参数:调用父类的无参构造函数。
  • 带参数:调用父类的带参构造函数,其中参数与父类构造函数中的参数对应。

示例:

<code class="java">// 父类 Animal
class Animal {
    private String name;

    public Animal(String name) {
        this.name = name;
    }
}

// 子类 Dog
class Dog extends Animal {
    private int age;

    public Dog(String name, int age) {
        // 调用父类的带参构造函数
        super(name);
        this.age = age;
    }
}</code>
Copier après la connexion

在上面的示例中,Dog 类的构造函数中调用了 super(name),它将 name 参数传递给父类 Animal 的带参构造函数。这确保了 Animal 类的 name 实例变量正确初始化。

注意事项:

  • super()
  • Pourquoi devons-nous appeler le constructeur de la classe parent ?
  • Lorsqu'une sous-classe est instanciée, Java appelle d'abord le constructeur de la classe parent. Cela garantit que les variables d'instance de la classe parent sont correctement initialisées. Si la classe enfant n'appelle pas explicitement le constructeur de la classe parent, Java appellera automatiquement le constructeur sans argument. Mais il est recommandé d'appeler explicitement le constructeur de la classe parent car il spécifie clairement le constructeur à appeler et évite tout comportement inattendu.
🎜🎜Syntaxe : 🎜🎜🎜super() Le mot-clé peut être avec ou sans paramètres : 🎜
    🎜🎜Aucun paramètre : 🎜Appelle le constructeur sans paramètre de la classe parent. 🎜🎜🎜Avec paramètres : 🎜Appelez le constructeur paramétré de la classe parent, où les paramètres correspondent aux paramètres du constructeur de la classe parent. 🎜🎜🎜🎜Exemple : 🎜🎜rrreee🎜Dans l'exemple ci-dessus, super(name) est appelé dans le constructeur de la classe Dog, qui name sont passés au constructeur paramétré de la classe parent <code>Animal. Cela garantit que la variable d'instance name de la classe Animal est correctement initialisée. 🎜🎜🎜Remarque : 🎜🎜
      🎜super() doit être la première instruction du constructeur de sous-classe. 🎜🎜Si la classe parent n'a pas de constructeur sans paramètre, la sous-classe doit appeler explicitement le constructeur paramétré de la classe parent. 🎜🎜Si le constructeur de sous-classe n'appelle pas le constructeur de la classe parent, Java appellera automatiquement le constructeur sans argument de la classe parent. 🎜🎜

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal