Usando super para acessar membros da superclasse

super como referência à superclasse:

Em Java, super pode ser usado para referenciar membros (variáveis e métodos) da superclasse.
A sintaxe é super.membro, onde membro pode ser uma variável ou um método da superclasse.

Ocultação de Membros:

Quand…


This content originally appeared on DEV Community and was authored by Java para Iniciantes (Oracle)

super como referência à superclasse:

  • Em Java, super pode ser usado para referenciar membros (variáveis e métodos) da superclasse.
  • A sintaxe é super.membro, onde membro pode ser uma variável ou um método da superclasse.

Ocultação de Membros:

  • Quando uma subclasse define um membro (variável ou método) com o mesmo nome de um membro da superclasse, o membro da subclasse "oculta" o membro da superclasse.
  • super é usado para acessar os membros da superclasse que foram ocultados pela subclasse.

Exemplo de Ocultação de Variáveis:

  • Se uma subclasse define uma variável de instância com o mesmo nome de uma variável da superclasse, a variável da superclasse pode ser acessada usando super.
  • Esse mecanismo permite resolver ambiguidades entre membros com o mesmo nome.

Chamadas de Métodos Ocultos:

  • Além de variáveis, super também pode ser usado para chamar métodos da superclasse que foram sobrescritos ou ocultados por métodos com o mesmo nome na subclasse.

Exemplo de Código:

// Usando super para resolver o problema de ocultação de nomes.
class A {
    int i;
}

// Cria uma subclasse estendendo a classe A.
class B extends A {
    int i; // essa variável i oculta a variável i de A.

    B(int a, int b) {
        super.i = a; // i de A
        i = b;       // i de B
    }

    void show() {
        System.out.println("i in superclass: " + super.i);
        System.out.println("i in subclass: " + i);
    }
}

class UseSuper {
    public static void main(String args[]) {
        B subOb = new B(1, 2);
        subOb.show();
    }
}

Saída:
i in superclass: 1
i in subclass: 2

Conclusão:

  • A palavra-chave super permite acessar membros da superclasse que foram ocultados pela subclasse.
  • Isso é útil em cenários de herança, onde membros de mesmo nome existem tanto na superclasse quanto na subclasse.
  • super pode ser usado tanto para variáveis quanto para métodos ocultos.


This content originally appeared on DEV Community and was authored by Java para Iniciantes (Oracle)


Print Share Comment Cite Upload Translate Updates
APA

Java para Iniciantes (Oracle) | Sciencx (2024-09-14T17:57:34+00:00) Usando super para acessar membros da superclasse. Retrieved from https://www.scien.cx/2024/09/14/usando-super-para-acessar-membros-da-superclasse/

MLA
" » Usando super para acessar membros da superclasse." Java para Iniciantes (Oracle) | Sciencx - Saturday September 14, 2024, https://www.scien.cx/2024/09/14/usando-super-para-acessar-membros-da-superclasse/
HARVARD
Java para Iniciantes (Oracle) | Sciencx Saturday September 14, 2024 » Usando super para acessar membros da superclasse., viewed ,<https://www.scien.cx/2024/09/14/usando-super-para-acessar-membros-da-superclasse/>
VANCOUVER
Java para Iniciantes (Oracle) | Sciencx - » Usando super para acessar membros da superclasse. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/09/14/usando-super-para-acessar-membros-da-superclasse/
CHICAGO
" » Usando super para acessar membros da superclasse." Java para Iniciantes (Oracle) | Sciencx - Accessed . https://www.scien.cx/2024/09/14/usando-super-para-acessar-membros-da-superclasse/
IEEE
" » Usando super para acessar membros da superclasse." Java para Iniciantes (Oracle) | Sciencx [Online]. Available: https://www.scien.cx/2024/09/14/usando-super-para-acessar-membros-da-superclasse/. [Accessed: ]
rf:citation
» Usando super para acessar membros da superclasse | Java para Iniciantes (Oracle) | Sciencx | https://www.scien.cx/2024/09/14/usando-super-para-acessar-membros-da-superclasse/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.