Método por defecto de la interfaz Java

Los tutoriales de Java se han escrito para el JDK 8. Los ejemplos y las prácticas descritas en esta página no aprovechan las mejoras introducidas en versiones posteriores y pueden utilizar tecnología que ya no está disponible. Los ejemplos y las prácticas que se describen en esta página no aprovechan las mejoras introducidas en versiones posteriores y pueden utilizar tecnología que ya no está disponible.Consulte los cambios en el lenguaje de Java para obtener un resumen de las características actualizadas del lenguaje en Java SE 9 y las versiones posteriores.Consulte las notas de la versión del JDK para obtener información sobre las nuevas características, las mejoras y las opciones eliminadas o obsoletas de todas las versiones del JDK.

Como ya ha aprendido, los objetos definen su interacción con el mundo exterior a través de los métodos que exponen. Los métodos forman la interfaz del objeto con el mundo exterior; los botones de la parte frontal de tu televisor, por ejemplo, son la interfaz entre tú y el cableado eléctrico al otro lado de su carcasa de plástico. Para encender y apagar el televisor, hay que pulsar el botón “power”.

La implementación de una interfaz permite a una clase ser más formal en cuanto al comportamiento que promete proporcionar. Las interfaces forman un contrato entre la clase y el mundo exterior, y este contrato se hace cumplir en tiempo de construcción por el compilador. Si su clase afirma que implementa una interfaz, todos los métodos definidos por esa interfaz deben aparecer en su código fuente antes de que la clase se compile correctamente.

leer  ¿Cómo recuperar mensajes de WhatsApp que borre sin copia de seguridad?

Ejemplo de interfaz Java

Una interfaz es similar a una clase, pero el cuerpo de una interfaz sólo puede incluir métodos abstractos y campos finales (constantes). Una clase implementa una interfaz proporcionando código para cada método declarado por la interfaz.

Observa que el nombre de la interfaz (Playable) es un adjetivo. La mayoría de las interfaces se nombran con adjetivos en lugar de sustantivos porque describen alguna capacidad o cualidad adicional de las clases que implementan la interfaz. Así, las clases que implementan la interfaz Playable representan objetos que pueden ser reproducidos.

En caso de que no hayas asistido a una clase de inglés hace tiempo, un adjetivo es una palabra que modifica a un sustantivo. Puedes convertir muchos verbos en adjetivos añadiendo -able al final de la palabra: playable, readable, drivable y stoppable, por ejemplo. Este tipo de adjetivo se suele utilizar para los nombres de las interfaces.

La interfaz Java implementa la interfaz

No he tocado Java desde que usé JBuilder a finales de los 90 mientras estaba en la Universidad, así que estoy un poco fuera de contacto – en cualquier caso he estado trabajando en un pequeño proyecto Java esta semana, y usando Intellij IDEA como mi IDE, para un cambio de ritmo de mi desarrollo regular de .Net.

En general, una interfaz expone un contrato sin exponer los detalles de implementación subyacentes. En la programación orientada a objetos, las interfaces definen tipos abstractos que exponen el comportamiento, pero no contienen ninguna lógica. La implementación está definida por la clase o tipo que implementa la interfaz.

leer  ¿Cómo hacer que se ejecute un programa en Java?

en el lenguaje de programación Java es un tipo abstracto que se utiliza para especificar un comportamiento que las clases deben implementar. Son similares a los protocolos. Las interfaces se declaran con la palabra clave interface

Observe que cada elemento se define de forma similar a la definición de un método en una interfaz. Tiene un tipo de datos y un nombre. Se pueden utilizar todos los tipos de datos primitivos como tipos de datos de elementos. También puede utilizar arrays como tipo de datos. No se pueden utilizar objetos complejos como tipos de datos.

Método de interfaz Java

Las interfaces se utilizan en Java para proporcionar una plantilla a los desarrolladores y para evitar el problema del diamante muerto en la herencia múltiple. En una interfaz todos los campos (variables) son por defecto públicos, estáticos y finales. Por ejemplo, en el siguiente código tanto MIN_SIZE como MAX_SIZE son constantes públicas, estáticas y finales.

Hasta la versión Java 1.7, todos los métodos declarados en las interfaces son públicos y abstractos por defecto. Desde Java 1.8, una interfaz puede tener métodos por defecto y también métodos estáticos. Por lo tanto, la regla actualizada es:

Una interfaz puede tener métodos por defecto y métodos estáticos. Cualquier otro método es implícitamente público y abstracto. Todos los campos declarados en una interfaz son implícitamente públicos, estáticos y constantes finales.

En el código anterior se necesita un objeto de subclase para acceder al método abstracto print y al método por defecto doStuff. El método estático sayHello puede ser llamado directamente usando el nombre de la interfaz sin necesidad de subclases. Las subclases deben sobrescribir los métodos abstractos y opcionalmente pueden sobrescribir los métodos por defecto como se muestra a continuación. En el siguiente código, la subclase Base sólo sobrescribe el método abstracto.

leer  ¿Cuál es la estructura lineal?

Por avivcas