Una interfaz es un tipo de referencia que se utiliza para hacer cumplir un contrato con una clase. Un contrato se refiere a la obligación de implementar los métodos que define una interfaz.

Las interfaces proporcionan una abstracción entre los métodos que definen y cómo el usuario los implementa en una clase. Un caso de uso práctico de esto es en las API (interfaces de programación de aplicaciones).

Las API permiten que su programa se comunique con otros programas sin saber cómo se implementan. Esto es importante tanto por razones de propiedad (para la empresa propietaria de los derechos) como por su fácil desarrollo.

Echemos un vistazo a cómo utilizar las interfaces Java.

Definición de interfaces

Para declarar una interfaz, coloque la palabra clave interfaz antes del nombre de la interfaz.

interface Car {
// declaraciones constantes, si las hay
int neumáticos = 4;
// firmas de métodos
int luces (int brillo);
int turn (int tires, String direction) {
// algo de código
}
}

En el encabezado de su interfaz, también puede incluir su nivel de visibilidad antes de la palabra clave

instagram viewer
interfaz.

Los valores de una interfaz son constantes. Estos valores son por defecto público, estático y final. Por lo tanto, no es necesario utilizar estas palabras clave al declarar valores en el cuerpo de una interfaz.

Relacionado: Cómo administrar el alcance variable en Java

El cuerpo de una interfaz también puede tener predeterminado, abstracto, estático métodos. Estos métodos son por defecto público, por lo que no es necesario indicar estos modificadores de acceso al declararlos.

Los métodos abstractos se declaran omitiendo las llaves del cuerpo de un método. Vea la línea 7 en el código anterior. Los métodos estáticos se declaran procediendo al nombre del método con la palabra clave estático & los métodos predeterminados se declaran con el defecto modificador.

Ahora sería un buen momento para mencionar que debes usar métodos declarados en una interfaz en cualquier clase que lo implemente. No hacerlo hará que el compilador "haga cumplir el contrato" dando un error de compilación.

Esta propiedad particular de las interfaces puede tener algunos inconvenientes. Considere un caso en el que un proveedor de interfaz de programación de aplicaciones (API) decide agregar más métodos a sus interfaces, pero varias aplicaciones se basan en las interfaces antiguas. Los desarrolladores que utilicen las interfaces antiguas en sus programas tendrían que volver a escribir su código, lo que no es práctico.

Entonces, ahí es donde defecto entran los métodos. Permiten a los proveedores de API agregar más métodos a sus interfaces al tiempo que garantizan la compatibilidad binaria con versiones de interfaz anteriores.

default int getDirection (coordenadas de cadena) {
// escribe un código para dar una implementación predeterminada
}

El método anterior muestra cómo un método predeterminado llamado getDirection se declara. Tenga en cuenta que debe incluir una implementación de un método predeterminado cuando lo escribe.

Usando interfaces

Ahora que hemos definido interfaces en Java, podemos pasar a cómo implementarlas. Lo encontrará en la sección siguiente.

Implementación de interfaces

Para implementar una interfaz, use la palabra clave implementos usando esta sintaxis:

clase A implementa la interfaz P {
}

Recuerde que debe utilizar todos los métodos de interfaz de la clase. Puede ignorar esta regla solo si uno de los métodos se define como defecto en la interfaz.

Relacionado: Introducción al uso de listas vinculadas en Java

Si desea que su clase implemente múltiples interfaces, puede separarlas usando comas en su declaración de encabezado.

Ejemplo:

clase A implementa la interfaz P, Q, R {
}

Si la clase que está implementando la interfaz es una subclase, use la siguiente sintaxis:

clase A extiende B implementos C, D {
}

Las interfaces permiten múltiples herencias en Java. Normalmente, una clase solo puede extender una clase (herencia única). Las interfaces son la única forma en que Java puede llevar a cabo múltiples herencias.

Las interfaces también pueden extender otras interfaces, al igual que una clase puede extender otra clase. La interfaz secundaria hereda los métodos de la interfaz que extiende.

Vea el ejemplo a continuación:

interfaz A extiende B { 
}

Además de usar métodos predeterminados para modificar una interfaz sin requerir que los desarrolladores modifiquen sus programas actuales, también puede extender las interfaces existentes.

Ahora tiene algunos conocimientos básicos sobre interfaces Java

Las interfaces en Java demuestran la abstracción, uno de los cuatro pilares de la programación orientada a objetos. El polimorfismo es uno de esos cuatro pilares. Se refiere a la capacidad de un método para adoptar muchas formas.

Puede implementar polimorfismo en Java mediante la sobrecarga de métodos o la anulación de métodos. Lo siguiente en su lista de lectura de Java debería ser cómo implementar estas funciones.

CuotaPíoCorreo electrónico
Polimorfismo en Java: cómo sobrecargar o anular métodos

Reduzca el código que escribe con la sobrecarga y anulación de métodos.

Leer siguiente

Temas relacionados
  • Programación
  • Java
  • Lenguajes de programación
  • Programación
Sobre el Autor
Jerome Davidson (25 artículos publicados)

Jerome es redactor en MakeUseOf. Cubre artículos sobre programación y Linux. También es un entusiasta de la criptografía y siempre está al tanto de la industria de la criptografía.

Más de Jerome Davidson

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse