1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
package test4; public class AnnoArg { public static @interface AnnoArgAt { Class<? extends AnnoArg.A> value(); } public static class A { int baz() { return 1; } } public static class B extends A { int baz() { return 2; } } @AnnoArgAt(B.class) public int foo(int i) { return i; } }