class ThreadExample { interface Function { R apply(T t); } { A a = new A(); Function foo = a::foo; } static class A { public String foo() { return "a"; } } }