Interface e abstract, estou certo de quando usar?

Pessoal, eu to querendo comecar a fazer classes que sejam mais reutilizaveis, então quero tirar umas duvidas…

devo fazer uma classe interface quando ela for apenas um modelo de classe, apenas com os nomes dos metodos e talz, sem implementar nada?

e abstract, uma classe já funcional, com metodos implementados e talz, que possa ser expandida?

e outra coisa, tenho que declarar so a classe abstract, ou cada metodo tb tenho que declarar abstract?

tipo:

[code]public interface bola {
void encheBola(int lb);
void explodeBola();
}

public abstract classe bolas implements bola {
public void encheBola(int lb) {
System.out.print(“encheu mais “+lb+” libras!”);
}
public void explodeBola() {
System.out.print(“explodiu a bola!”);
}
}

public class bolabasquete extends bolas {
// Aki reescrevo o metod explodeBola()
public void explodeBola() {
System.out.print(“explodiu a bola de basquete!”);
}
}[/code]

Seria isso?

OK, andei lendo umas coisas e ja peguei o jeito da coisa…

Obrigado a todos, hehe :stuck_out_tongue:

É bom é assim…

:joia: