Fique por dentro – Concurso de TI! Usando a palavra-chave super na herança em Java

Baixe o material de estudo



Baixar apostila para concurso

Fala, meus consagrados! Beleza?

A palavra-chave super é usada dentro de subclasse para referenciar o construtor, métodos ou atributos da superclasse imediata. Esse mecanismo é crucial para o conceito de herança em programação orientada a objetos, permitindo que uma classe derivada acesse e utilize funcionalidades definidas em sua classe base (ou superclasse).

O uso de super é restrito ao contexto de herança, significando que só pode ser utilizado dentro de uma subclasse para referenciar sua superclasse imediata. Essa palavra-chave permite a interação entre classes em uma hierarquia de herança, facilitando a reutilização de código e o polimorfismo.

Essa palavra-chave pode ser usada para chamar construtor da superclasse. Esses é um dos usos mais comuns de super é invocar explicitamente o construtor da superclasse dentro do construtor da subclasse. Isso é especialmente útil quando a superclasse não possui um construtor padrão (sem argumentos) ou quando queremos passar argumentos específicos para o construtor da superclasse.

A chamada a super() deve ser a primeira instrução no construtor da subclasse. Se não for explicitamente incluída, o compilador tentará invocar o construtor padrão da superclasse (sem parâmetros) implicitamente.

Sintaxe:

super(argumentos);

Exemplo:

public class Superclasse {
    public Superclasse(int x) {
        // Implementação do construtor
    }
}
public class Subclasse extends Superclasse {
    public Subclasse(int x) {
        super(x); // Chama o construtor da superclasse
    }
}

No exemplo acima, super(x) é usado para chamar explicitamente o construtor da superclasse Superclasse passando o argumento x.

A palavra-chave super também pode ser usada para invocar métodos da superclasse que foram sobrescritos pela subclasse.

Exemplo:

public class Superclasse {
    public void mostrar() {
        System.out.println("Método da superclasse");
    }
}
public class Subclasse extends Superclasse {
    public void mostrar() {
        // Chama o método mostrar() da superclasse.
        super.mostrar(); 
        System.out.println("Método da subclasse");
    }
}

Aqui, super.mostrar() invoca o método mostrar() da superclasse dentro da implementação sobrescrita da subclasse.

Finalmente, usamos super para acessar atributos da superclasse que podem ter sido ocultados por atributos de mesmo nome na subclasse.

Exemplo:

public class Superclasse {
    protected int numero = 10;
    }
public class Subclasse extends Superclasse {
    protected int numero = 20;
    public void mostrarNumero() {
        // Mostra o número da superclasse.
        System.out.println(super.numero); 
       // Mostra o número da subclasse.
       System.out.println(numero); 
    }
}

Espero que tenham gostado! 

Forte abraço e até a próxima jornada!

_________________________

Professor Rogerão Araújo


Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil? Clique nos links abaixo:

CONCURSOS 2025

CONCURSOS ABERTOS

QUESTÕES DE CONCURSOS

Receba gratuitamente no seu celular as principais notícias do mundo dos concursos. Clique no link abaixo e inscreva-se:

WHATSAPP

TELEGRAM

Fonte: Gran Cursos Online

Download disponível – Usando a palavra-chave super na herança em Java



Baixar apostila para concurso

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *