Por ejemplo, consideremos el interface coleccion presentado en la página
anterior. Ahora, supongamos que queremos escribir una clase que implemente un pila FIFO (primero en entrar, primero en salir). Como una pila FIFO contiene otros objetos tiene sentido que implemente el interface coleccion. La clase PilaFIFO declara que implementa el interface coleccion de esta forma:
class PilaFIFO implements coleccion {
. . .
void añadir(Object obj) {
. . .
}
void borrar(Object obj) {
. . .
}
Object buscar(Object obj) {
. . .
}
int contadorActual() {
. . .
}
}
así se garantiza que proporciona implementación para los métodos añadir(), borrar(), buscar() y contadorActual().
Por convención, la clausula implements sigue a la clausula extends si es que ésta existe.
Observa que las firmas de los métodos del interface coleccion implementados en la clase PilaFIFO debe corresponder exactamente con las firmas de los métodos declarados en la interface coleccion.