interface Function<T,R> { R apply(T t); }
bisher (Java ≤
Function<Integer,Integer> f =
    new Function<Integer,Integer> () { 
        public Integer apply (Integer x) { 
            return x*x; 
    } } ;
System.out.println (f.apply(4));
jetzt (Java 8): verkürzte Notation (Lambda-Ausdruck)
für Implementierung funktionaler Interfaces
Function<Integer,Integer> g = x -> x*x; System.out.println (g.apply(4));Anwendung u.a. in
java.util.stream.Stream<T>