Classe Abstrata e Interface

Em um processo seletivo me fizeram pergunta : qual a diferença entre uma classe abstrata e uma interface.
Qual a resposta

Uma interface é uma classe 100% abstrata.

Classes abstratas permitem métodos não abstratos e atributos, interfaces não.

Este assunto da pano para a manga.
Antes que algum imbecil poste um texto enorme em ingles falando sobre o assunto ou fale que o photografo esta no forum errado, serei prático.

Uma classe abstrada é uma classe que se relaciona com outras atraves da herança. Ja a interface se relaciona com outras classes atraves da simulação de uma herança. A tal da implementação. Atraves das interfaces podemos simular a tal da herança multipla em java.
Uma interface obriga que a classe que a implemente, defina todos os metodos da interface. A interface so permite a inclusão de metodos “abstratos” (sem corpo).
Alias todo metodo “abstrato” seja ele de uma interface ou classe abstrata deve ser sobrescrito nas classes que o extendam ou o implementem, entretanto diferentemente das interfaces as classes abstratas permitem a criação de metodos não abstratos.

A interface é uma classe onde só vai ter as assinaturas de métodos.
a serem instanciados em outras classes através de herança.
CLasse abstrata vc pode criar o metodo e instancialo na própria classe

Uma interface é um compromisso comportamental: um contrato.
Uma classe abstrata define uma entidade.

É por isso que a primeira só tem métodos abstratos e não tem atributos. Porque ali, temos que especificar um comportamento desejado, não um tipo de objeto em si.

E é por isso que a segunda tem métodos concretos e atributos.

PS: http://www.guj.com.br/posts/list/39102.java

Acho que mais alguém fez o processo seletivo. :lol:

Amigos,

eu vejo tambem da sequinte forma

Em uma classe abstrata eu tenho a realização da herança, ja com uma interface eu implemento uma associação que ai pode ser uma composição ou agregação. Dai a posibilidade de termos a simulação da herança multipla.

Eu gostaria de saber se mais pessoas concordam ou discordam.