Para crear un Interface, se debe escribir tanto la declaraci�n como el cuerpo del interface.
declaraciondeInterface {
cuerpodeInterface
}
La Declaraci�n de Interface declara varios atributos del interface, como su nombre o si se extiende desde otro interface. El Cuerpo de Interface contiene las constantes y las declaraciones de m�todos del Interface.
�La Declaraci�n de Interface
Como m�nimo, una declaraci�n de interface contiene la palabra clave interface y el nombre del interface que se va a crear.
interface Contable {
. . .
}
Nota: Por convenci�n, los nombres de interfaces empiezan con una letra may�scula al igual que las clases. Frecuentemente los nombres de interfaces terminan en "able" o "ible".
Una declaraci�n de interface puede tener otros dos componentes: el especificador de acceso public y una lista de "superinterfaces". Un interface puede extender otros interfaces como una clase puede extender o subclasificar otra case. Sin embargo, mientras que una clase s�lo puede extender una superclase, los interfaces pueden extender de cualquier n�mero de interfaces. As�, una declaraci�n completa de interface se parecer�a a esto.
[public] interface Nombredenterface [extends listadeSuperInterfaces] {
. . .
}
El especificador de acceso public indica que el interface puede ser utilizado por todas las clases en cualquier paquete. Si el interface no se especifica como p�blico, s�lo ser� accesible para las clases definidas en el mismo paquete que el interface.
La clausula extends es similar a la utilizada en la declaraci�n de una clase, sin embargo, un interface puede extender varios interfaces (mientras una clase s�lo puede extender una), y un interface no puede extender clases. Esta lista de superinterfaces es un lista delimitada por comas de todos los interfaces extendidos por el nuevo interface.
Un interface hereda todas las constantes y m�todos de sus superinterfaces a menos que el interface oculte una constante con el mismo nombre o redeclare un m�todo con una nueva declaraci�n.
�El cuerpo del Interface
El cuerpo del interface contiene las declaraciones de m�todos para los m�todos definidos en el interface. Implementar M�todos muestra c�mo escribir una declaraci�n de m�todo. Adem�s de las declaraciones de los m�todos, un interface puede contener declaraciones de constantes. En Declarar Variables Miembros existe m�s informaci�n sobre c�mo construir una declaraci�n de una variable miembro.
|
Nota:
Las declaraciones de miembros en un interface no permiten el uso de algunos modificadores y desaconsejan el uso de otros. No se podr�n utilizar transient, volatile, o synchronized en una declaraci�n de miembro en un interface. Tampoco se podr� utilizar los especificadores private y protected cuando se declaren miembros de un interface. |
Todos los valores constantes definidos en un interface son impl�citamente p�blicos, est�ticos y finales. El uso de estos modificadores en una declaraci�n de constante en un interface est� desaconsejado por falta de estilo. Similarmente, todos los m�todos declarados en un interface son impl�citamente p�blicos y abstractos.
Este c�digo define un nuevo interface llamado coleccion que contiene un valor constante y tres declaraciones de m�todos.
interface coleccion {
int MAXIMO = 500;
void a�adir(Object obj);
void borrar(Object obj);
Object buscar(Object obj);
int contadorActual();
}
El interface anterior puede ser implementado por cualquier clase que represente una colecci�n de objetos como pueden ser pilas, vectores, enlaces, etc...
Observa que cada declaraci�n de m�todo est� seguida por un punto y coma (;) porque un interface no proporciona implementaci�n para los m�todos declarados dentro de �l.