@FunctionalInterface
interface Functional { void f(int a); }
class B {
void GenerateData(Functional f) {
f.f(12345);
}
}
class A {
public void XXX() {
B b = new B();
b.GenerateData(this::ZZZ);
}
public void ZZZ(int n) {
System.
out.
println("n = " + n
); }
}
class Main {
public static void main
(String[] args
) { A a = new A();
a.XXX();
}
}
QEZ1bmN0aW9uYWxJbnRlcmZhY2UKaW50ZXJmYWNlIEZ1bmN0aW9uYWwgeyB2b2lkIGYoaW50IGEpOyB9CgpjbGFzcyBCIHsKICB2b2lkIEdlbmVyYXRlRGF0YShGdW5jdGlvbmFsIGYpIHsKICAgIGYuZigxMjM0NSk7CiAgfQp9CgpjbGFzcyBBIHsKICBwdWJsaWMgdm9pZCBYWFgoKSB7CiAgICBCIGIgPSBuZXcgQigpOwogICAgYi5HZW5lcmF0ZURhdGEodGhpczo6WlpaKTsKICB9CiAgcHVibGljIHZvaWQgWlpaKGludCBuKSB7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oIm4gPSAiICsgbik7CiAgfQp9CgpjbGFzcyBNYWluIHsKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICBBIGEgPSBuZXcgQSgpOwogICAgYS5YWFgoKTsKICB9Cn0KCg==