Académique Documents
Professionnel Documents
Culture Documents
Pgina 2 de 2
9.3 Interfaces
Vimos que classes abstratas podem conter mtodos no-abstratos que sero
herdados e podero ser utilizados por instncias de classes herdeiras. Se a classe no
tiver nenhum mtodo no abstrato, podemos cri-la como uma interface, que segue um
modelo de declarao diferente do usado para classes mas tem funcionalidade similar a
de classes abstratas.
Assim como uma classe abstrata, uma interface no pode ser instanciada. Todos os
mtodos na interface so implicitamente abstract e public, e no podem ser declarados
com seus corpos.
Campos, se houverem, sero implicitamente considerados como static e final,
devendo, portanto, ser inicializados na sua declarao.
A diferena essencial entre classes abstratas e interfaces que uma classe herdeira
somente pode herdar de uma nica classe (abstrata ou no), enquanto que qualquer
classe pode implementar vrias interfaces simultaneamente. Interfaces so, ento, um
mecanismo simplicado de implementao de herana mltipla em Java, permitindo que
mais de uma interface determine os mtodos que uma classe herdeira deve
implementar.
Interfaces tambm podem ser teis para implementar bibliotecas de constantes: j
que todos os campos de uma interface devem ser declarados como static e final,
podemos escrever interfaces que somente contm campos, e qualquer classe que
implementar esta interface ter acesso a estes campos.