import java.util.function.Function; public class MyClass { private static Function outside(Integer y) { return new Function() { @Override public Integer apply(Integer x) { return x + y; } }; } private static Function outside_lambda(Integer y) { return (x) -> (y + x); } public static void main(String args[]) { int x=10; int y=25; Function inner_fn = outside(new Integer(y)); int z = inner_fn.apply(x).intValue(); System.out.println("Sum of x+y = " + z); } }