Uma diferença entre classe e interface é que a classe
http://www.dcc.ufrj.br/~comp2/TextosJava/Interfaces%20em%20Java.pdf
Resposta: Letra E
Gabarito: Letra E
A alternativa correta é a letra E, que afirma que uma classe declara e implementa seus métodos, enquanto a interface apenas declara.
Para entender essa diferença, é fundamental conhecer a base do paradigma de programação orientada a objetos (POO), que utiliza classes e interfaces como estruturas fundamentais. Uma classe em POO é uma estrutura que combina estado (campos de dados) e comportamento (métodos), e é através dela que criamos objetos. Uma classe pode conter métodos implementados, onde o comportamento é definido. Além disso, também pode conter campos de dados, que são as variáveis que armazenam o estado do objeto.
Por outro lado, uma interface é um tipo de contrato em POO que as classes podem implementar. Uma interface somente declara métodos, mas não provê a implementação desses métodos. É responsabilidade das classes que implementam a interface fornecer o código para os métodos declarados pela interface. Isso permite um alto nível de abstração e flexibilidade no design do software, pois permite que diferentes classes possam ser tratadas de modo uniforme através das interfaces que implementam.
Com isso em mente, vamos analisar por que as outras alternativas são incorretas:
- A alternativa A é incorreta porque interfaces podem ter campos, mas esses campos são implicitamente public, static e final, ou seja, são constantes.
- A alternativa B confunde os termos: uma classe pode implementar uma interface, mas uma interface não é 'implementada em' uma classe. Em vez disso, uma interface pode ser estendida por outra interface.
- A alternativa C é incorreta porque tanto classes quanto interfaces podem ser usadas tanto em applets quanto em aplicativos.
- A alternativa D é incorreta porque tanto classes quanto interfaces podem ser organizadas em pacotes (packages).
Portanto, a alternativa E é a única que apresenta uma distinção correta e fundamental entre classes e interfaces na programação orientada a objetos.