Java annotation元注解原理实例解析
元注解是指注解的注解。包括@Retention@Target@Document@Inherited四种。
1.Annotation型定义为@interface,所有的Annotation会自动继承java.lang.Annotation这一接口,并且不能再去继承别的类或是接口.
2.参数成员只能用public或默认(default)这两个访问权修饰
3.参数成员只能用基本类型byte,short,char,int,long,float,double,boolean八种基本数据类型和String、Enum、Class、annotations等数据类型,以及这一些类型的数组.
4.要获取类方法和字段的注解信息,必须通过Java的反射技术来获取Annotation对象,因为你除此之外没有别的获取注解对象的方法
5.注解也可以没有定义成员,不过这样注解就没啥用了
1.@Target表示该注解目标,可能的ElemenetType参数包括:
ElemenetType.CONSTRUCTOR构造器声明
ElemenetType.FIELD域声明(包括enum实例)
ElemenetType.LOCAL_VARIABLE局部变量声明
ElemenetType.METHOD方法声明
ElemenetType.PACKAGE包声明
ElemenetType.PARAMETER参数声明
ElemenetType.TYPE类,接口(包括注解类型)或enum声明
2.@Retention表示该注解的生命周期,可选的RetentionPolicy参数包括
RetentionPolicy.SOURCE注解将被编译器丢弃
RetentionPolicy.CLASS注解在class文件中可用,但会被VM丢弃
RetentionPolicy.RUNTIMEVM将在运行期也保留注释,因此可以通过反射机制读取注解的信息
3.@Documented指示将此注解包含在javadoc中
4.@Inherited指示允许子类继承父类中的注解
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。