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!