Para definir clases e interfaces se utiliza un archivo con código fuente Java. Todo el código de hecho debe de definirse en estos archivos. Éstos archivos son archivos de texto cuyos nombres terminan con la extensión .java. En entradas anteriores vimos la estructura y definición de las clases. En esta entrada o post, veremos como se define una interaface, como definir varias clases y/o interfaces en un mismo archivo con código java.
Interfaz.
Una interfaz contiene constantes y métodos, pero los métodos no son implementados, es decir, no contienen código. Las interfaces son contratos que las clases se encargan de implementar.
// Ejemplo de una interfaz interface ControlImpresora { void pausarImpresion(); void calcelarImpresion(); void apagarImpresora(); }
Las iterfaces se definen con la palabra reservada interface, todas las letras con minúsculas, recuerde que java es sensitivo a mayúsculas.
Múltiples clases en un solo archivo Java.
Java permite definir varias clases o interfaces en un sólo archivo de código Java, pero hay que seguir ciertas reglas. Puedes definir varias interfaces o varias clases o una mezcla de ambas en un sólo archivo java, sin importar el orden en que sean definidas. Si una clase o interfaz es definida public (pública), el archivo debe contener el mismo nombre de esa clase o interfaz pública y, como habíamos dicho, la extensión ,java. No puede haber más de una clase o interfaz pública en un archivo de código java, si existe más de una, el código no compilará.
/* * Ejemplo de archivo con definición de varias interfaces y clases. * El archivo que contiene este código deberá llamarse Imprimible.java */ //el archivo debe llamarse como la siguiente interfaz ya que es pública public interface Imprimible { //código de la interfaz .... } interface Movible { // código de la interfaz ... } class Impresora { // código de la interfaz ... }
Package e Import.
Si se usan las sentencias package e import dentro de un archivo de código Java con múltiples clases y/o interfaces aplican para todas las clases e interfaces definidas dentro del código. Todas las clases y/o interfaces en en mismo archivo deben pertenecer al mismo paquete, y todas las clases o interfaces importadas serán accesibles a todas las clases o interfaces que se encuentren definidas en el archivo.
Bibliografía: OCA Java SE 7 Programmer I Certification Guide de Manning.