Considerando a sintaxe e a semântica da linguagem Java e com...
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.
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