471注解_自定义注解格式&本质和472注解_自定义注解属性定义
自定义注解格式&本质
格式:
元注解
public @interface注解名称{
随机性列表}
本质:注解本质上就是一个接口,该默认继承Annotation接口
public interface MyAnno extends java.lang.annotation.Annotation {}
属性:接口中可以定义的成员方法
1.属性的返回值类型
基本数据类型、String、枚举、注解、以上类型的数组
2.定义了属性,在使用时需要给属性赋值
1.如果定义属性时,使用default关键字给属性默认初始化值,则使用注解时,就可u哦不进行属性的赋值。
2.如果只有一个属性需要赋值并且属性的名称是value,则value可以省略,直接定义值即可
3.数组赋值时,值使用{}包裹,如果数组只有一个值,则{}省略可以不写
在程序使用中(解析注解)
自定义注解属性定义
public @interface MyAnno {
//public abstract String show();
int value();
Person per();
MyAnno2 anno();
String [] st();
//String name() default "杰瑞";
/**
*
* @return
* String show2();
* Person per();
* MyAnno2 anno();
* String [] st();
*/
}
public @interface MyAnno2 {
}
public enum Person {
p1,p2;
}
@MyAnno(value = 18,per =Person.p1,anno = @MyAnno2,st = {"abc","ca"})
public class Worker {
}