Considerando a sintaxe e a semântica da linguagem Java e com...

Próximas questões
Com base no mesmo assunto
Q1370954 Programação

Considerando a sintaxe e a semântica da linguagem Java e com base nos conceitos de programação orientada a objetos, julgue o item a seguir.


Se a classe X implementa a interface I, proporcionando somente alguns métodos especificados em I, então é correto concluir que X também é uma interface.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - Errado.

Vamos entender o porquê dessa alternativa ser a correta. Na programação orientada a objetos (POO), especificamente na linguagem Java, uma interface é um tipo de referência semelhante a uma classe, que pode conter somente constantes, métodos abstratos, métodos default, métodos estáticos e tipos aninhados. As interfaces são abstratas por natureza e não podem implementar métodos (exceto métodos default e estáticos).

Ao implementar uma interface, uma classe X se compromete a fornecer comportamentos concretos para todos os métodos abstratos declarados na interface I. Se a classe X não fornecer implementações para todos os métodos abstratos da interface I, ela deve ser declarada como abstrata. Isso significa que não é possível instanciar objetos dessa classe sem antes fornecer implementações concretas para todos os métodos abstratos pendentes.

Ao contrário do que sugere a questão, uma classe que implementa uma interface não é automaticamente uma interface. Ela pode ser uma classe concreta (se fornecer implementações para todos os métodos) ou uma classe abstrata (se deixar algum método sem implementação). Isso é um princípio fundamental da POO e é importante no Java, pois a linguagem enfatiza a necessidade de contratos bem definidos por meio de interfaces.

Portanto, a afirmação de que a classe X seria uma interface por não implementar todos os métodos da interface I é incorreta. Uma classe que não implementa totalmente uma interface, ou seja, não fornece corpo para todos os métodos abstratos necessários, é classificada como abstrata, e não como interface.

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

Errado

Uma interface pode estender múltiplas interfaces, mas não pode implementar outras interfaces

Uma classe pode implementar múltiplas interfaces

Uma classe pode estender apenas uma classe.

Clique para visualizar este comentário

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