Una interfaz contiene únicamente la cabecere de una serie de métodos, especifica el comportamiento que luego tendrá que ser implementado. Tendremos entonce dos ficheros, una que es la interfaz y otra la clase que implementa esa interfaz.
public interface Macota{
String getCodigo();
void hazRuido();
void come(String comida);
void pelea(Animal contricante);
}
En inteface solo se escriben las cabeceras de los métodos que deben tener la calse que implementan la interfaza Mascota.
Luego para implementarlo se utiiza:
public class Gato extends Animal implements Macota{
…………
}
Estamos diciendo que Gato es una subclase de Animal y que además es una implementación de la interfaz Macota.
Al igual que se puedan crear arrays de números o caracteres se pueden crear también arrays de objetos.
Ver ejemplo alumno en paquete examenes
Una vez que se crea la clase Alumno con sus getters y setters se define un array de cinco alumnos que posterior se rellena. Luego se muestran el resultado.
//primero se define la estructura del array
Alumno[] alumno = new Alumno[5];
//luego se crea de forma individual cada objeto
alumno[i] = new Alumno();