Super lebih umum di Android, dan saya tidak memahaminya tanpa Java Foundation, jadi saya punya waktu untuk mempelajarinya.
Menggunakan super di kelas Java untuk merujuk komponen kelas dasar relatif sederhana, dan contohnya adalah sebagai berikut:
kelas ayah kelas {nilai int publik; public void f () {value = 100; System.out.println ("FatherClass.Value:"+Nilai); }} class ChildClass Extends FatherClass {Public Int Value; public void f () {super.f (); nilai = 200; System.out.println ("ChildClass.Value:"+Value); System.out.println (nilai); System.out.println (Super.Value); }} public class test1 {public static void main (string [] args) {childclass cc = new childclass (); cc.f (); }} Output akhir adalah:
FatherClass.Value: 100ChildClass.Value: 200200100
Selain itu, Super juga digunakan dalam konstruksi warisan, aturan spesifiknya adalah sebagai berikut:
1. Metode konstruksi kelas dasarnya harus dipanggil selama proses konstruksi subkelas.
2. Subkelas dapat menggunakan Super (Argument_List) untuk memanggil metode konstruktor kelas dasar dalam konstruktor mereka sendiri.
3. Jika konstruktor subkelas tidak ditampilkan dalam konstruktor kelas dasar, sistem memanggil konstruktor tanpa parameter dari kelas dasar secara default.
4. Jika konstruktor subkelas tidak menunjukkan panggilan ke konstruktor kelas dasar, dan kelas dasar tidak memiliki konstruktor tanpa parameter, kesalahan kompilasi terjadi.
Contohnya adalah sebagai berikut: (yang terbaik adalah bereksperimen dengannya sendiri di sini)
kelas superclass {private int n; Superclass () {System.out.println ("Call superclass ()"); } Superclass (int n) {System.out.println ("call superclass ("+n+")"); }} Subkelas kelas memperluas superclass {private int n; Subclass (int n) {// Ketika metode konstruksi superclass tidak ditulis dalam metode konstruksi subkelas, sistem default untuk memanggil kelas induk tanpa parameter // setara dengan menulis yang berikut di sini: // super (); System.out.println ("Call SuberClass ("+n+")"); this.n = n; } Subclass () {super (300); // Konstruktor kelas induk harus dipanggil selama proses konstruksi subclass, dan super harus ditulis dalam kalimat pertama (ada ayah pertama dan kemudian putra) System.out.println ("Call Subclass ()"); }} public class test2 {public static void main (string [] args) {subclass sc1 = new subclass (); Subkelas sc2 = subkelas baru (400); }} Hasil akhirnya adalah:
Hubungi SuperClass (300) SUMBER SUBCLASS () PANGGILAN SuperClass () Subkelas Panggilan (400)
Di atas adalah semua tentang artikel ini, saya harap ini akan membantu untuk pembelajaran semua orang.