En Java, una interfaz es un tipo abstracto que define un conjunto de métodos abstractos y constantes (o ningún método o constante). Una interfaz es una convención que especifica el comportamiento que debe tener un determinado tipo de objeto.
Aquí hay información importante sobre las interfaces Java:
-
Definir interfaz :
Utilice
interface
la palabra clave para definir la interfaz.interface MyInterface { // 声明抽象方法 void myMethod(); // 声明常量(默认为 public static final) int MY_CONSTANT = 10; }
-
Interfaz de implementación :
Una clase puede implementar una o más interfaces,
implements
implementadas mediante la palabra clave.class MyClass implements MyInterface { @Override public void myMethod() { System.out.println("Implementing myMethod"); } }
-
La diferencia entre interfaz y clase abstracta :
- Los métodos en las interfaces son abstractos por defecto y no contienen cuerpos de métodos; las clases abstractas pueden contener métodos abstractos y métodos concretos.
- Una clase puede implementar múltiples interfaces, pero solo puede heredar de una clase.
- Los campos en la interfaz son de
public static final
tipo por defecto, es decir, constantes; las clases abstractas pueden contener campos de varios tipos.
-
Herencia múltiple de interfaces :
Una interfaz puede heredar de múltiples interfaces.
interface InterfaceA { void methodA(); } interface InterfaceB { void methodB(); } interface InterfaceC extends InterfaceA, InterfaceB { void methodC(); }
-
Método predeterminado :
Java 8 introdujo métodos de interfaz predeterminados, que pueden proporcionar implementaciones predeterminadas de métodos en las interfaces.
interface MyInterface { void myMethod(); default void defaultMethod() { System.out.println("Default method implementation"); } }
-
Método estático :
Java 8 también introdujo métodos estáticos en las interfaces.
interface MyInterface { void myMethod(); static void staticMethod() { System.out.println("Static method in interface"); } }
-
Aplicaciones prácticas de la interfaz :
- Las interfaces se utilizan para implementar polimorfismo, lo que permite que diferentes clases tengan la misma interfaz de comportamiento, pero en diferentes métodos de implementación.
- Una interfaz es una convención de diseño que se utiliza para describir qué métodos y constantes debe tener una clase.
- La biblioteca estándar de Java utiliza ampliamente interfaces, como
java.util.List
las interfaces.
La interfaz es un concepto muy importante en Java: proporciona una forma de organizar y estandarizar la estructura del código y admite polimorfismos más flexibles.