@interface Foo {
int abc();
}
interface Parent {
default void printAbc() {
int abc = this.getClass().getDeclaredAnnotation(Foo.class).abc();
}
}
@Foo(abc = 123)
class Child implements Parent {
public static void main
(String[] args
) { new Child().printAbc();
}
}
QGludGVyZmFjZSBGb28gewoJaW50IGFiYygpOwp9CgppbnRlcmZhY2UgUGFyZW50IHsKICAgIGRlZmF1bHQgdm9pZCBwcmludEFiYygpIHsKICAgIAlpbnQgYWJjID0gdGhpcy5nZXRDbGFzcygpLmdldERlY2xhcmVkQW5ub3RhdGlvbihGb28uY2xhc3MpLmFiYygpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihhYmMpOwogICAgfQp9CgpARm9vKGFiYyA9IDEyMykKY2xhc3MgQ2hpbGQgaW1wbGVtZW50cyBQYXJlbnQgewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIG5ldyBDaGlsZCgpLnByaW50QWJjKCk7CiAgICB9Cn0=