Interfaz de Java Palabra clave
Ejemplo
An interface
es una "clase" abstracta que se utiliza para agrupar métodos relacionados con cuerpos "vacíos":
Para acceder a los métodos de la interfaz, la interfaz debe ser "implementada" (algo así como heredada) por otra clase con la implements
palabra clave (en lugar de extends
). El cuerpo del método de interfaz lo proporciona la clase "implementar":
// interface
interface Animal {
public void animalSound(); // interface method (does not have a body)
public void sleep(); // interface method (does not have a body)
}
// Pig "implements" the Animal interface
class Pig implements Animal {
public void animalSound() {
// The body of animalSound() is provided here
System.out.println("The pig says: wee wee");
}
public void sleep() {
// The body of sleep() is provided here
System.out.println("Zzz");
}
}
class MyMainClass {
public static void main(String[] args) {
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound();
myPig.sleep();
}
}
Definición y uso
La interface
palabra clave se usa para declarar un tipo especial de clase que solo contiene métodos abstractos.
Para acceder a los métodos de la interfaz, la interfaz debe ser "implementada" (algo así como heredada) por otra clase con la implements
palabra clave (en lugar de extends
). El cuerpo del método de interfaz lo proporciona la clase "implementar".
Notas sobre las interfaces:
- No se puede usar para crear objetos (en el ejemplo anterior, no es posible crear un objeto "Animal" en MyMainClass)
- Los métodos de interfaz no tienen cuerpo: el cuerpo lo proporciona la clase "implementar"
- En la implementación de una interfaz, debe anular todos sus métodos
- Los métodos de interfaz son por defecto
abstract
ypublic
- Los atributos de la interfaz son por defecto
public
ystatic
final
- Una interfaz no puede contener un constructor (ya que no se puede usar para crear objetos)
¿Por qué y cuándo usar interfaces?
Para lograr la seguridad, oculte ciertos detalles y solo muestre los detalles importantes de un objeto (interfaz).
Java no admite "herencia múltiple" (una clase solo puede heredar de una superclase). Sin embargo, se puede lograr con interfaces, porque la clase puede implementar múltiples interfaces. Nota: Para implementar múltiples interfaces, sepárelas con una coma (vea el ejemplo a continuación).
Múltiples interfaces
Para implementar varias interfaces, sepárelas con una coma:
Ejemplo
interface FirstInterface {
public void myMethod(); // interface method
}
interface SecondInterface {
public void myOtherMethod(); // interface method
}
// DemoClass "implements" FirstInterface and SecondInterface
class DemoClass implements FirstInterface, SecondInterface {
public void myMethod() {
System.out.println("Some text..");
}
public void myOtherMethod() {
System.out.println("Some other text...");
}
}
class MyMainClass {
public static void main(String[] args) {
DemoClass myObj = new DemoClass();
myObj.myMethod();
myObj.myOtherMethod();
}
}
páginas relacionadas
Lea más sobre las interfaces en nuestro Tutorial de interfaz Java .