Código (java) [Seleccionar]
//La interfaz funcional
package test;
public interface Interface {
int factorial(int x);
}
Código (java) [Seleccionar]
//La clase que utiliza la expresion lambda
package test;
public class Test {
public static void main(String... args){
((Interface) x -> x == 1 ? 1 : x*factorial(x-1)).factorial(7); //No compila (busca la funcion en la clase Test).
((Interface) x -> x == 1 ? 1 : x*this.factorial(x-1)).factorial(7); //No compila (el puntero this apunta a un objeto de la clase Test).
}
}