Guia para a palavra-chave super Java

Guia para a palavra-chave super Java

 

1. Introdução

Neste tutorial rápido,we’ll take a look at the super Java keyword.

Simplificando, podemos usar a palavra-chavesuper para acessar a classe pai.

Vamos explorar as aplicações da palavra-chave central no idioma.

2. A palavra-chavesuper com construtores

We can use super() to call the parent default constructor. Deve ser a primeira declaração em um construtor.

Em nosso exemplo, usamossuper(message) com o argumentoString:

public class SuperSub extends SuperBase {

    public SuperSub(String message) {
        super(message);
    }
}

Vamos criar uma instância de classe filha e ver o que está acontecendo por trás:

SuperSub child = new SuperSub("message from the child class");

A palavra-chavenew invoca o construtor doSuperSub, que por si só chama o construtor pai primeiro e passa o argumentoString para ele.

3. Acessando variáveis ​​da classe pai

Vamos criar uma classe pai com a variável de instânciamessage:

public class SuperBase {
    String message = "super class";
}

Agora, criamos uma classe filho com a variável com o mesmo nome:

public class SuperSub extends SuperBase {

    String message = "child class";

    public void getParentMessage() {
        System.out.println(super.message);
    }
}

Podemos acessar a variável pai da classe filha usando a palavra-chavesuper.

4. A palavra-chavesuper com substituição de método

Antes de prosseguir, recomendamos revisar nosso guiamethod overriding.

Vamos adicionar um método de instância à nossa classe pai:

public class SuperBase {

    String message = "super class";

    public void printMessage() {
        System.out.println(message);
    }
}

E substitua o métodoprintMessage() em nossa classe filha:

public class SuperSub extends SuperBase {

    String message = "child class";

    public SuperSub() {
        super.printMessage();
        printMessage();
    }

    public void printMessage() {
        System.out.println(message);
    }
}

We can use the super to access the overridden method from the child class. Osuper.printMessage() no construtor chama o método pai deSuperBase.

5. Conclusão

Neste artigo, exploramos a palavra-chavesuper.

Como de costume, o código completo está disponívelover on Github.