Super es más común en Android, y no lo entiendo sin la Fundación Java, por lo que tengo tiempo para aprenderlo.
Usar las clases de Super en Java para hacer referencia a los componentes de la clase base es relativamente simple, y el ejemplo es el siguiente:
Clase FatherClass {public int value; public void f () {valor = 100; System.out.println ("PatherClass.Value:"+valor); }} class ChildClass extiende PatherClass {public int value; public void f () {super.f (); valor = 200; System.out.println ("ChildClass.Value:"+valor); System.out.println (valor); System.out.println (super.value); }} public class test1 {public static void main (string [] args) {ChildClass cc = new ChildClass (); cc.f (); }} La salida final es:
PatherClass.Value: 100ChildClass.Value: 200200100
Además, Super también se usa en la construcción de herencia, las reglas específicas son las siguientes:
1. El método de construcción de su clase base debe llamarse durante el proceso de construcción de una subclase.
2. Las subclases pueden usar Super (argument_list) para llamar al método de constructor de la clase base en su propio constructor.
3. Si el constructor de la subclase no se muestra en el constructor de la clase base, el sistema llama al constructor sin parámetros de la clase base de forma predeterminada.
4. Si el constructor de subclase no muestra la llamada al constructor de la clase base, y la clase base no tiene un constructor sin parámetros, se produce un error de compilación.
Los ejemplos son los siguientes: (es mejor experimentar con él usted mismo aquí)
clase SuperClass {private int n; Superclass () {system.out.println ("llamar superclass ()"); } Superclass (int n) {system.out.println ("llamar superclass ("+n+")"); }} La subclase de clase extiende la superclase {private int n; Subclase (int n) {// Cuando el método de construcción de superclase no está escrito en el método de construcción de subclase, el sistema predeterminado para llamar a la clase principal sin parámetros // es equivalente a escribir lo siguiente aquí: // super (); System.out.println ("Llame a SuberClass ("+n+")"); this.n = n; } Subclass () {super (300); // El constructor de la clase principal debe llamarse durante el proceso de construcción de la subclase, y Super debe escribirse en la primera oración (hay un padre en primer lugar y luego el hijo) System.out.println ("Llamar subclase ()"); }} public class test2 {public static void main (string [] args) {subclass sc1 = new subclass (); Subclase sc2 = nueva subclase (400); }} El resultado final es:
Llame a SuperClass (300) Llame a subclase () llame a SuperClass () Llame a la subclase (400)
Lo anterior se trata de este artículo, espero que sea útil para el aprendizaje de todos.