Maison >Java >javaDidacticiel >Que signifie super() en Java
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).
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>
在上面的示例中,Dog
类的构造函数中调用了 super(name)
,它将 name
参数传递给父类 Animal
的带参构造函数。这确保了 Animal
类的 name
实例变量正确初始化。
注意事项:
super()
super()
Le mot-clé peut être avec ou sans paramètres : 🎜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!