Ed Inteligência Artificial do Passei Direto
ontem
Vamos analisar as opções para encontrar a que completa corretamente o trecho omitido e produz o resultado desejado: O código apresentado tem uma classe abstrata `Exemplar` que possui um método abstrato `exemplarMetodo1()` e um método concreto `escreve()`. O método `exemplarMetodo1()` deve ser implementado na classe `Exemplar2`, que estende `Exemplar`. O resultado esperado da execução é: ``` Mensagem 1 Mensagem 2 ``` Agora, vamos analisar as alternativas: (A) `class Exemplar2 inherits Exemplar { public void exemplarMetodo1() { System.out.println("Mensagem 1"); } }` - A palavra-chave correta em Java é `extends`, não `inherits`. Portanto, essa opção está incorreta. (B) `public class Exemplar2 extends Exemplar { public Exemplar2 exemplarMetodo1() { System.out.println("Mensagem 1"); } }` - Aqui, o método `exemplarMetodo1()` está retornando um objeto do tipo `Exemplar2`, o que é incorreto, pois deveria ser `void`. Portanto, essa opção está incorreta. (C) `class Exemplar extends Exemplar2 { public void exemplarMetodo1() { System.out.println("Mensagem 1"); } }` - Essa opção inverte a hierarquia, o que não faz sentido, pois `Exemplar` é a classe abstrata. Portanto, essa opção está incorreta. (D) `class Exemplar2 extends Exemplar { public void exemplarMetodo1() { System.out.println("Mensagem 1"); } }` - Esta opção está correta. `Exemplar2` estende `Exemplar` e implementa o método `exemplarMetodo1()` corretamente, produzindo a saída esperada. (E) `class Exemplar2 extends Exemplar { private void exemplarMetodo1() { System.out.println("Mensagem 1"); } }` - O método `exemplarMetodo1()` é declarado como `private`, o que significa que não pode ser acessado fora da classe `Exemplar2`, o que não é permitido, pois é um método abstrato na classe pai. Portanto, essa opção está incorreta. A única opção que completa corretamente o trecho omitido e produz a saída desejada é a alternativa (D).
Mais perguntas desse material