Monday, March 2, 2009

SCJP - 02 - Interfaces

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:



  • 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.



No comments:

Post a Comment

Regras são chatas, mas...
Todos os comentários são lidos e moderados previamente.
São publicados aqueles que respeitam as regras abaixo:

- Seu comentário precisa ter relação com o assunto do post;
- Em hipótese alguma faça propaganda de outros blogs ou sites;
- Não inclua links desnecessários no conteúdo do seu comentário;
- Se quiser deixar sua URL, comente usando a opção OpenID;
- CAIXA ALTA, miguxês ou erros de ortografia não serão tolerados;
- Ofensas pessoais, ameaças e xingamentos não são permitidos;