Em uma classe, temos construtores que são usados para inicializar a classe. Quando, em uma relação de herança, tanto a superclasse quanto a classe filha têm construtores, os dois devem ser executados. Assinale a alternativa que indica como isso ocorre em Java.

Questão

Em uma classe, temos construtores que são usados para inicializar a classe. Quando, em uma relação de herança, tanto a superclasse quanto a classe filha têm construtores, os dois devem ser executados. Assinale a alternativa que indica como isso ocorre em Java.

Alternativas

a) Para executar o método construtor da superclasse, deve-se aplicar a palavra-chave extends. Para isso, basta chamar extends na classe filha e passar uma lista de parâmetros que o construtor da superclasse espera receber.

b) Para executar o método construtor da superclasse, deve-se aplicar a palavra- chave implements. Para isso, basta chamar implements na classe filha e passar uma lista de parâmetros que o construtor da superclasse espera receber.

c) Para executar o método construtor da superclasse, deve-se aplicar a palavra-chave super. Para isso, basta chamar super na classe filha e passar uma lista de parâmetros que o construtor da superclasse espera receber.

97%

d) Para executar o método construtor da superclasse, deve-se aplicar a palavra-chave abstract. Para isso, basta chamar abstract na classe filha e passar uma lista de parâmetros que o construtor da superclasse espera receber.

e) Para executar o método construtor da superclasse, deve-se reescrevê-lo na classe filha. Para isso, basta chamar extends na classe filha e passar uma lista de parâmetros que o construtor da superclasse espera receber.

Explicação

Em Java, quando uma classe filha (subclasse) herda de uma superclasse, o construtor da superclasse sempre é executado durante a construção do objeto da filha.

Isso ocorre assim:

  1. Ao instanciar a classe filha, o Java precisa inicializar primeiro a parte “superclasse” do objeto.
  2. Para isso, a subclasse chama o construtor da superclasse por meio da palavra‑chave super(...).
    • Se você não escrever super(...) no construtor da filha, o compilador tenta inserir automaticamente super() (o construtor sem parâmetros da superclasse).
    • Se a superclasse não tiver construtor sem parâmetros, então você é obrigado a chamar explicitamente super(parametros) com a assinatura correta.
  3. Essa chamada a super(...) deve ser a primeira instrução dentro do construtor da classe filha.

Logo, a alternativa correta é a que menciona a palavra‑chave super para acionar o construtor da superclasse.

Alternativa correta: (c).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.