Super é mais comum no Android, e eu não entendo sem a Java Foundation, então tenho tempo para aprender.
Usar as classes Super em Java para referenciar os componentes da classe base é relativamente simples, e o exemplo é o seguinte:
classe fadclass {public int value; public void f () {value = 100; System.out.println ("fadclass.value:"+valor); }} classe ChildClass estende o PADSCLASS {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); }} classe pública test1 {public static void main (string [] args) {ChildClass cc = new ChildClass (); cc.f (); }} A saída final é:
PaiClass.Value: 100ChildClass.Value: 200200100
Além disso, o Super também é usado na construção da herança, as regras específicas são as seguintes:
1. O método de construção de sua classe base deve ser chamado durante o processo de construção de uma subclasse.
2. As subclasses podem usar o Super (argument_list) para chamar o método do construtor da classe base em seu próprio construtor.
3. Se o construtor da subclasse não for exibido no construtor da classe base, o sistema chama o construtor sem parâmetros da classe base por padrão.
4. Se o construtor da subclasse não mostrar a chamada para o construtor de classe base e a classe base não possui um construtor sem parâmetros, ocorre um erro de compilação.
Os exemplos são os seguintes: (é melhor experimentar você mesmo aqui)
classe superclass {private int n; Superclass () {System.out.println ("Call SuperClass ()"); } Superclass (int n) {System.out.println ("Call SuperClass ("+n+")"); }} classe Subclass estende a superclass {private int n; Subclasse (int n) {// Quando o método de construção da superclasse não é escrito no método de construção da subclasse, o sistema padrão chama a classe pai sem parâmetros // é equivalente a escrever o seguinte aqui: // super (); System.out.println ("Ligue para a Suberclass ("+N+")"); this.n = n; } Subclass () {super (300); // O construtor da classe pai deve ser chamado durante o processo de construção da subclasse, e Super deve ser escrito na primeira frase (há um pai primeiro e depois o filho) System.out.println ("Call Subclass ()"); }} public class Test2 {public static void main (string [] args) {subclass sc1 = new subclass (); Subclasse sc2 = nova subclasse (400); }} O resultado final é:
Ligue para a Superclass (300) Subclass () Ligue para Superclass () CHAMADA SUBCLASSE (400)
O exposto acima é tudo sobre este artigo, espero que seja útil para o aprendizado de todos.