Super ialah kata kunci yang digunakan untuk memanggil fungsi atau kaedah dalam superclass. Ini akan ditakrifkan di dalam subkelas. Kaedah yang hanya awam dan dilindungi boleh dipanggil dengan menggunakan kata kunci ini. Dengan kata lain, kaedah persendirian dan kaedah statik tidak boleh dipanggil menggunakan ini. Kata kunci super dalam java juga boleh digunakan untuk memanggil pembina kelas induk. Sintaks, contoh dan butiran lanjut kata kunci super akan dibincangkan dalam bahagian berikut.
Sintaks
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
super.<> or super([0 or more arguments]);
Seperti yang telah disebutkan, super boleh digunakan pada beberapa kesempatan.
Jika kelas induk dan anak mempunyai ahli data yang sama, kata kunci Super boleh digunakan untuk mengakses medan atau ahli data kelas induk. Kekaburan untuk Mesin Maya Java boleh berlaku dalam kes ini.
Contoh:
Kod:
class A { protected String name="ann"; } class B extends A { public String name="Anna"; public void hello() { System.out.println("I am " + name); System.out.println("I am " + super.name); } }
Di sini, dua kelas A dan B, mempunyai nama medan sepunya. Fungsi printType() dalam kelas anak menggunakan kata kunci super untuk merujuk kepada medan dalam kelas induk.
Penggantian kaedah ialah proses yang mana kelas anak mengisytiharkan fungsi atau kaedah yang sama yang sudah tersedia dalam kelas induk. Katakan, jika panggilan ke kaedah berlaku daripada objek kelas kanak-kanak, maka kaedah dalam kelas kanak-kanak sahaja akan dipanggil. Untuk mengakses kaedah induk, kata kunci super boleh digunakan.
Contoh:
Kod:
class A { protected String name="ann"; public void hello() { System.out.println("I am " + name); } } class B extends A { public String name="Anna”; public void hello() { System.out.println("I am " + name); } public void test() { hello(); super.hello(); } }
Di sini, dua kelas, A dan B, mempunyai kaedah yang sama hello(). Dengan bantuan kata kunci super dalam fungsi test(), adalah mungkin untuk mengakses kaedah hello() kelas induk.
Sudah diketahui bahawa pembina (lalai) akan dipanggil secara automatik apabila objek kelas dicipta. Kata kunci super boleh digunakan untuk memanggil pembina kelas super secara eksplisit daripada pembina subkelas. Pastikan super hanya digunakan di dalam pembina subkelas, dan ia adalah pernyataan pertama di dalamnya.
Contoh:
Kod:
class A { //constructor of parent class A() { System.out.println("I am Kavya Madhavan"); } } //child class class B extends A { //constructor of child class B() { super(); System.out.println("I am Dileep Menon"); } }
Di bawah ialah contoh berbeza yang disebut:
Dalam atur cara berikut, nama pembolehubah sepunya hadir dan super digunakan untuk memanggil pembolehubah dalam kelas induk.
Kod:
//Java program to illustrate Super keyword to refer instance variable //parent class class A { protected String name="ann"; } //child classs class B extends A { public String name="Anna";//variable which is same in parent class //sample method public void hello() { System.out.println("I am " + name); System.out.println("I am " + super.name); } } //main class public class SuperExample { public static void main(String[] args) { B objb=new B();//object of child class objb.hello();//call the method in child class } }
Output:
Atur cara ini membantu dalam menunjukkan kata kunci super sambil merujuk kepada kaedah yang sama dalam kelas induk. Di sini, hello() ialah kaedah yang tersedia dalam kedua-dua kelas.
Kod:
//Java program to illustrate Super keyword to refer same method in parent class //parent class class A { protected String name="ann"; public void hello() { System.out.println("I am " + name); } } //child classs class B extends A { public String name="Anna";//variable which is same in parent class //sample method which is same in parent class public void hello() { System.out.println("I am " + name); } //method to call the hello() method in parent and child class public void test() { hello(); super.hello(); } } //main class public class SuperExample { public static void main(String[] args) { B objb=new B();//object of child class objb.test();//call the method in child class } }
Output:
Atur cara ini memanggil pembina kelas induk menggunakan kata kunci super.
Kod:
//Java program to illustrate Super keyword to refer constructor in parent class //parent class class A { //constructor of parent class A() { System.out.println("I am Kavya Madhavan"); } } //child class class B extends A { //constructor of child class B() { super(); System.out.println("I am Dileep Menon"); } } //main class public class SuperExample { public static void main(String[] args) { B objb=new B();//object of child class } }
Output:
Atur cara ini menunjukkan penggunaan kata kunci super untuk merujuk kepada pembina parameter bagi kelas induk.
Kod:
//Java program to illustrate Super keyword to refer parameterised constructor in parent class //parent class class A { //constructor of parent class A() { System.out.println("I am Kavya Madhavan"); } //parameterised constructor A(String name) { System.out.println("I am " + name); } } //child class class B extends A { //constructor of child class B() { super("Renuka"); System.out.println("I am Dileep Menon"); } } //main class public class SuperExample { public static void main(String[] args) { B objb=new B();//object of child class } }
Output:
Super ialah kata kunci dalam Java yang digunakan untuk merujuk kepada kaedah atau fungsi, pembolehubah contoh atau atribut dan pembina dalam kelas induk. Jika pembina tidak diisytiharkan, pengkompil secara automatik mencipta pembina lalai. Begitu juga, Pengkompil memanggil super() secara automatik jika ia tidak diisytiharkan. Dalam dokumen ini, beberapa aspek kata kunci super diterangkan secara terperinci.
Atas ialah kandungan terperinci Kata Kunci Super di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!