Los interfaces y la Herencia Múltiple en Java
Autor: Error 500 - www.error500.net
Un interface es parecido a una clase abstracta en Java , pero con las siguientes diferencias:
- Todo método es abstracto y público sin necesidad de declararlo. Por lo tanto un interface en Java no implementa ninguno de los métodos que declara.
- Las varibles del interface serán las variables miembro de la clase.
- Un interface se implementa (implements) no se extiende (extends) por sus subclases.
- Una clase puede implementar más de un interfaz en Java, pero sólo puede extender una clase. Es lo más parecido que tiene Java a la herencia múltiple, que de clases normales está prohibida.
- Podemos declarar variables del tipo de clase del interfaz, pero para inicializarlas tendremos que hacerlo de una clase que lo implemente.
Así, por ejemplo, podemos declarar el siguiente interfaz en Java:
interface Figura{
int area();
}
int area();
}
y una clase que lo implementa:
public class Cuadrado implements Figura {
int lado;
public Cuadrado (int ladoParametro) {
lado = ladoParametro;
}
public int area(){
return lado*lado;
}
}
int lado;
public Cuadrado (int ladoParametro) {
lado = ladoParametro;
}
public int area(){
return lado*lado;
}
}
Más adelante podemos:










