bom aurelio, vou tentar ser bem claro.
em uma interface voce pode apenas declar os métodos (como o cv disse, declarar é diferente de implementar), enquanto em uma classe abstrata você pode tanta declarar um método abstrato como implementar um método não abstrato.
Ae vc me pergunta. -Porque usar Interface?
primeira resposta e a mais óbvia
-Para organizar seu sistema, pois quando vc ver uma classe implementando uma interface X, vc sabe que nessa sua classe terá os métoso da interface.
Vc pensa e pergunta denovo. - Mas só serve pra isso?
aqui que muita gente ainda confunde(eu mesmo demorei muito tempo pra entender, até que veio o tutorial do guj de interfaces e fez eu rever meus conceitos, hehhe)
Uma grande, na minha opinião a principal, função da interface é o lance de reaproveitamento de códigos. mas como?
vou tentar por codigos de exemplo.
Suponho que vc tem um método que recebe o parametro uma classe e dentro desse método vc vai mostrar a idade do individuo, assim por exemplo
public void getIdade(Pessoas p) {
System.out.println(p.idade);
}
nesse exemplo (bem banal por sinal), vc tem um método que recebe como parametro uma classe Pessoas, até aqui simples certo?
Agora vamos supor que vc tenha uma classe chamada Gato e vc quer pegar a idade do gato, vc teria que construir outro método e passar o parametro como por exemplo public void getIdade(Gato g)
aqui é um exemplo onde poderiamos reaproveitar o método com o conceito de interface. Supondo que a classe Pessoas e a classe Gato implemente uma interface qualquer (vou chamar de Caracteristicas), vc pode passar a interface apenas para 1 unico método, ou seja, reaproveitando código. Ex
public void getIdade(Caracteristicas c) {
System.out.println(c.idade);
}
método agora com a interface como parametro
public class Pessoas implements Caracteristicas {...}
public class Gato implements Caracteristicas {..}
aqui supondo que minhas duas classes implements Caracteristicas
com isso eu posso passar minha classe para o método que nao tera problemas.
acho que fui claro
qualquer coisa é só dar um toque
esse lance de interface confude muita gente mesmo
falow