No linguagem JAVA 9, uma interface não pode

Próximas questões
Com base no mesmo assunto
Q873499 Programação
No linguagem JAVA 9, uma interface não pode
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C - uma interface não pode herdar de uma classe abstrata.

Para entender essa questão, é preciso saber que no Java, as interfaces são usadas para definir um contrato que outras classes podem implementar. Uma interface pode declarar métodos, que devem ser implementados pelas classes que a implementam. Com a introdução do Java 8, as interfaces também podem conter métodos padrão (default), que têm implementação, e métodos privados, que não são expostos fora da interface, mas podem ser usados por métodos padrão ou estáticos dentro da interface.

Além disso, uma interface pode estender uma ou mais outras interfaces, o que está alinhado com o conceito de herança múltipla de tipos, algo que Java suporta em nível de interfaces.

A alternativa correta é a C, pois, de acordo com as regras da linguagem Java, uma interface não pode herdar de uma classe, seja ela abstrata ou não. O mecanismo de herança em Java é reservado para classes, onde uma classe pode herdar de outra classe usando a palavra-chave extends. No caso das interfaces, elas podem apenas estender outras interfaces, seguindo um princípio de herança de comportamento, e não de estado, como seria o caso se herdassem de classes abstratas. Portanto, uma interface pode estender múltiplas interfaces, mas nunca uma classe abstrata ou concreta.

Espero que essa explicação tenha esclarecido o motivo pelo qual a alternativa C é a resposta correta. Se tiver mais dúvidas sobre interfaces, herança ou qualquer outro tópico de Java, fique à vontade para perguntar!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A - Sim, podemos herdar de diversas interfaces mas não podemos implementar uma interface dentro de uma interface.

B - Sim, podemos ter métodos com implementações dentro de uma interface com tipo default. 

C - Não, não podemos herdar de uma classe abstrata. Uma classe abstrata pode conter implementação de métodos não abstratos e isso viola o princípio da interface. Uma interface só pode extender uma interface.

D - A partir do Java 9 é possível ter métodos privados dentro de uma interface.

 

LETRA C

Uma classe abstrata quando é herdade precisa ter o seus métodos abstratos implementados obrigatoriamente.

Logo a interface violaria a sua regra de existência.

c-

A classe usa interface pelo implements. A interface nao usa classe

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo