Rumah  >  Artikel  >  Java  >  Apakah maksud super() dalam java

Apakah maksud super() dalam java

下次还敢
下次还敢asal
2024-04-27 00:15:251052semak imbas

Kata kunci

super() digunakan untuk memanggil pembina kelas induk dalam pembina subkelas Java untuk memastikan pembolehubah contoh kelas induk dimulakan dengan betul Sintaksnya ialah super() (tiada parameter) atau super (parameter).

Apakah maksud super() dalam java

super(): Panggilan pembina kelas induk dalam Java

Di Java, kata kunci super() digunakan untuk memanggil pembina kelas induk. Ia adalah pernyataan pertama dalam pembina subkelas dan bertanggungjawab untuk memulakan pembolehubah contoh kelas induk. 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()
  • Mengapa kita perlu memanggil pembina kelas induk?
  • Apabila subkelas dijadikan instantiated, Java mula-mula memanggil pembina kelas induk. Ini memastikan pembolehubah contoh kelas induk dimulakan dengan betul. Jika kelas anak tidak secara eksplisit memanggil pembina kelas induk, Java secara automatik akan memanggil pembina tanpa hujah. Tetapi adalah disyorkan untuk memanggil pembina kelas induk secara eksplisit kerana ia dengan jelas menentukan pembina untuk dipanggil dan mengelakkan tingkah laku yang tidak dijangka.
🎜🎜Sintaks: 🎜🎜🎜super() Kata kunci boleh dengan atau tanpa parameter: 🎜
    🎜🎜Tiada parameter: 🎜Panggil pembina tanpa parameter kelas induk. 🎜🎜🎜Dengan parameter: 🎜Panggil pembina parameter bagi kelas induk, di mana parameter sepadan dengan parameter dalam pembina kelas induk. 🎜🎜🎜🎜Contoh: 🎜🎜rrreee🎜Dalam contoh di atas, super(name) dipanggil dalam pembina kelas Dog, yang akan name dihantar kepada pembina parameter bagi kelas induk <code>Animal. Ini memastikan pembolehubah contoh name kelas Animal dimulakan dengan betul. 🎜🎜🎜Nota: 🎜🎜
      🎜super()
    mestilah pernyataan pertama dalam pembina subkelas. 🎜🎜Jika kelas induk tidak mempunyai pembina tanpa parameter, subkelas mesti secara eksplisit memanggil pembina parameter kelas induk. 🎜🎜Jika pembina subkelas tidak memanggil pembina kelas induk, Java secara automatik akan memanggil pembina tanpa hujah kelas induk. 🎜🎜

Atas ialah kandungan terperinci Apakah maksud super() dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn