如何自定义注解:参照@SuppressWarnings定义
注解声明为:@interface
内部定义成员,通常使用value表示
可以指定成员的默认值,使用default定义
如果自定义注解没有成员,表明是一个标识作用
如果注解有成员,再使用注解时,现需要指明成员的值
注意:自定义注解必须配上注解的信息处理流程(使用反射)才有意义
自定义注解通常都会指明两个元注解:Retention Target
- jdk 提供的4种元注解
- 元注解
- 对现有注解进行解释说明的注解
- Retention:指定所修饰的Annotation的生命周期:SOURCE\CLASS(默认行为)\RUNTIME
- 只有声明为RUNTIME生命周期的注解,才能通过反射获取
- Target:用于指定被修饰的Annotation能用于修饰哪些程序元素
自定义注解一般都有Retention,Target,出现的程序较高
- Document:表示所修饰的注解再被javadoc解析时,保留下来
- Inherited:被他修饰过的Annotation将具有继承性
-
通过反射获取注解信息 —到反射内容时系统讲解
-
jdk8中注解的新特性:可重复注解、类型注解
-
可重复注解:再MyAnnotation上声明一个@Repeatable,成员值为MyAnnotations.class
MyAnnotation的Target和Retention和MyAnnotations相同 -
类型注解