Heim >Java >javaLernprogramm >Was bedeutet super() in Java?
Das Schlüsselwort
super() wird verwendet, um den Konstruktor der übergeordneten Klasse im Java-Unterklassenkonstruktor aufzurufen, um sicherzustellen, dass die Instanzvariablen der übergeordneten Klasse korrekt initialisiert werden. Die Syntax ist super() (keine Parameter) oder super (Parameter).
super(): Aufruf des Konstruktors der übergeordneten Klasse in Java
In Java wird das Schlüsselwort super()
verwendet, um den Konstruktor der übergeordneten Klasse aufzurufen. Es ist die erste Anweisung im Unterklassenkonstruktor und ist für die Initialisierung der Instanzvariablen der übergeordneten Klasse verantwortlich. 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()
Das Schlüsselwort kann mit oder ohne Parameter sein: 🎜super(name)
im Konstruktor der Klasse Dog
aufgerufen, die name-Parameter werden an den parametrisierten Konstruktor der übergeordneten Klasse <code>Animal
übergeben. Dadurch wird sichergestellt, dass die Instanzvariable name
der Klasse Animal
korrekt initialisiert wird. 🎜🎜🎜Hinweis: 🎜🎜super()
muss die erste Anweisung im Unterklassenkonstruktor sein. 🎜🎜Wenn die übergeordnete Klasse keinen parameterlosen Konstruktor hat, muss die Unterklasse explizit den parametrisierten Konstruktor der übergeordneten Klasse aufrufen. 🎜🎜Wenn der Konstruktor der Unterklasse den Konstruktor der übergeordneten Klasse nicht aufruft, ruft Java automatisch den Konstruktor ohne Argumente der übergeordneten Klasse auf. 🎜🎜Das obige ist der detaillierte Inhalt vonWas bedeutet super() in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!