Mais uma vez, tem coisas que a gente ja faz no automático. Estamos acostumados a só definir alguns métodos numa interface, e implementá-los numa classe qualquer, algo do tipo:
interface Testavel {
    public void testar();
}
class Rodavel implements Testavel{
    public void testar() {
        System.out.println("teste");
    }
}
Dos posts anteriores, nós sabemos que:
Mas acontece exatamente o contrário com as interfaces. Interfaces podem sim extender mais de uma interface pai, mas não podem implementar qualquer interface.
Assim, a primeira classe não-abstrata que implementar a interface Bola, deverá implementar os métodos definidos em Bola, e nas interfaces que ela estende: Inflável e Brinquedo. No mais, todas as regras referentes a sobrecarga, sobrescrita e herança continuam funcionando.
- Classes não podem estender mais de uma classe pai.
- Classes podem implementar mais de uma interface.
Mas acontece exatamente o contrário com as interfaces. Interfaces podem sim extender mais de uma interface pai, mas não podem implementar qualquer interface.
interface Inflavel {
    public void encher();
}
interface Brinquedo{
    public void jogar();
}
interface Bola extends Inflavel,Brinquedo{
    public void estourar();
}
Assim, a primeira classe não-abstrata que implementar a interface Bola, deverá implementar os métodos definidos em Bola, e nas interfaces que ela estende: Inflável e Brinquedo. No mais, todas as regras referentes a sobrecarga, sobrescrita e herança continuam funcionando.
 

 
 
 0 Comentários
0 Comentários