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