Rumah >Java >javaTutorial >Bagaimanakah `super()` Mendayakan Invokasi Pembina yang Betul dan Akses Kaedah Induk dalam Warisan Java?

Bagaimanakah `super()` Mendayakan Invokasi Pembina yang Betul dan Akses Kaedah Induk dalam Warisan Java?

Susan Sarandon
Susan Sarandonasal
2024-12-11 03:48:09163semak imbas

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

Meneroka 'super()': Peranannya dalam Warisan Java

Kata kunci 'super()' Java memainkan peranan penting dalam objek- pengaturcaraan berorientasikan, terutamanya apabila berurusan dengan warisan. Mari kita mendalami pemahaman penggunaan dan keupayaannya.

Memanggil Pembina Induk

'super()' digunakan terutamanya untuk memanggil pembina kelas induk apabila mencipta subkelas baharu objek. Ia memastikan bahawa kod permulaan induk dijalankan sebelum pembina subkelas itu sendiri dilaksanakan.

Apabila 'super()' dipanggil tanpa sebarang argumen, ia lalai untuk memanggil pembina induk tanpa argumen. Ini adalah perlu untuk memastikan permulaan objek yang betul dan keadaan warisan persediaan.

Contoh:

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
    }
}

Menyampaikan Argumen kepada Pembina Induk

'super ()' juga boleh digunakan untuk menyampaikan hujah kepada pembina induk. Ini berguna apabila pembina induk mempunyai beberapa kaedah terlebih beban. Dengan menyatakan hujah tertentu, anda boleh memanggil pembina induk yang dikehendaki.

Contoh:

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
    }
}

Kaedah Memanggil Ibu Bapa

Selain menggunakan pembina induk, 'super' juga boleh digunakan untuk mengakses kaedah dan pembolehubah kelas induk. Ini membenarkan subkelas memanjangkan atau mengatasi gelagat yang diwarisi.

Untuk memanggil kaedah induk, gunakan sintaks 'super.methodName()'.

Contoh:

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
    }
}

Untuk tutorial terperinci dan penjelasan lanjut, sila rujuk pautan sumber yang disediakan.

Atas ialah kandungan terperinci Bagaimanakah `super()` Mendayakan Invokasi Pembina yang Betul dan Akses Kaedah Induk dalam Warisan 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