package pkg; abstract class Annotations { @interface A1 { } @interface A2 { String value() default "-"; } @interface A3 { A1 a1(); A2 a2(); } @interface A4 { int[] ids() default { }; } @interface A5 { boolean b() default false; Class<? extends Number> value() default Integer.class; } @A1 abstract void m1(); @A2() abstract void m2a(); @A2("+") abstract void m2b(); @A3(a1 = @A1, a2 = @A2) abstract void m3(); @A4 abstract void m4a(); @A4(ids = {42, 84}) abstract void m4b(); @A5(b = true, value = Integer.class) abstract void m5(); @interface IndeterminateAnno { float f1() default Float.NEGATIVE_INFINITY; float f2() default Float.NaN; float f3() default Float.POSITIVE_INFINITY; double d1() default Double.NEGATIVE_INFINITY; double d2() default Double.NaN; double d3() default Double.POSITIVE_INFINITY; } }