Interfaces Funcionales - Tensho97/Aprende-a-Aprender GitHub Wiki
Una interfaz funcional es una interfaz que contiene un solo método abstracto. Solo pueden tener una funcionalidad. Desde Java 8 en adelante, las expresiones lambda se pueden usar para representar la instancia de una interfaz funcional.
Una interfaz funcional puede tener cualquier número de métodos predeterminados.
Como ejemplo de interfaces funcionales tenemos: Runnable, ActionListener o Comparable.
Aquí se muestra un ejemplo de cómo se haría una interfaz funcional antes de Java 8, donde teníamos que crear objetos con clases internas anónimas o implementar estas interfaces.
class Test {
public static void main(String args[]) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Nuevo hilo creado");
}
}).start();
}
}
Salida: Nuevo hilo creado
A partir del Java 8 y utilizando expresiones lambda que crearán el objeto, el ejemplo cambiará de la siguiente manera:
class Test {
public static void main(String args[]) {
new Thread(()->
{System.out.println("Nuevo hilo creado");}).start();
}
}
Salida: Nuevo hilo creado
El código queda más limpio, directo e intuitivo que en el anterior caso.
Relacionado
Autora : Andrea