代码如下:
package AnnoDemo01;public enum Person {p1,p2;
}
package AnnoDemo01;public @interface MyAnno2 {}
package AnnoDemo01;public @interface MyAnno {int show1();String show2();Person per();MyAnno2 ann02();String[] strs();
}
定义了属性,在使用时需要给属性赋值
示例代码如下:
package AnnoDemo01;public @interface MyAnno {int show1();String show2();int show3() default 3;
// Person per();
//
// MyAnno2 ann02();
//
// String[] strs();
}
package AnnoDemo01;@MyAnno(show1 = 1,show2 = "zhangs")
public class Worker {
}
如果只有一个属性需要赋值,并且属性的名称是value,则value可以省略,直接定义值即可。
示例代码如下:
package AnnoDemo01;public @interface MyAnno {int value();
// int show1();
// String show2();
//
// int show3() default 3;
// Person per();
//
// MyAnno2 ann02();
//
// String[] strs();
}
package AnnoDemo01;@MyAnno(1)
public class Worker {
}
其他属性怎么赋值?
示例代码如下:
package AnnoDemo01;public @interface MyAnno {int value();
// int show1();
// String show2();
//
// int show3() default 3;Person per();
//MyAnno2 ann02();
//String[] strs();
}
package AnnoDemo01;@MyAnno(value = 3,per = Person.p1,ann02 = @MyAnno2,strs = {"abc","bbb"})
public class Worker {
}