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.
O trecho de programa mostrado a seguir está correto.
interface vazia {
}
class dados implements vazia {
}
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - certo
Na linguagem de programação Java, uma interface é um tipo de referência que é totalmente abstrata. Ela pode conter métodos abstratos, métodos estáticos, métodos default e constantes, mas não é obrigada a ter qualquer conteúdo. Uma interface sem nenhum método ou campo é conhecida como interface marcadora ou tag interface.
A interface no trecho de código fornecido é chamada de vazia
e ela não contém nenhum método ou campo. Isso é perfeitamente legal em Java, e pode ser usada para indicar que uma classe que implementa essa interface possui uma característica específica ou deve ser tratada de uma certa maneira por métodos que aceitam objetos dessa interface.
A classe chamada dados
é declarada para implementar a interface vazia
. Mesmo que a interface não defina nenhum método, a classe dados
ainda é considerada uma implementação válida. Em Java, uma classe pode implementar qualquer número de interfaces, e é comum que classes implementem interfaces para sinalizar certas capacidades ou para aderir a um contrato de design mesmo quando não é necessário implementar métodos específicos.
Portanto, a declaração da interface vazia
seguida pela declaração da classe dados
que a implementa está sintaticamente e semanticamente correta em Java. A utilização de interfaces vazias é uma prática aceita e pode ser útil em vários cenários de design de software, como na criação de tipos de dados que são marcados para processamento especial ou para aderir a um conjunto de interfaces para fins de polimorfismo.
Por isso, a afirmativa é correta.
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
Para declarar uma classe que implementa uma interface, inclua uma cláusula implements na declaração da classe. Sua classe pode implementar mais de uma interface.
Já uma interface pode estender extend múltiplas interfaces, mas não pode implementar implements outras interfaces.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo