自定义注解——语法要求
1:使用@interface关键字定义注解
2:成员方法以无参无异常的方式声明
3:可以使用default为成员方法指定一个默认值
4:成员的类型是有限制的,合法的成员类型包括原始类型/String/Class/Annotation/Enumeration
5:如果注解只有一个成员,则成员名必须取名为value(),在使用时可以忽略成员名和赋值号(=)
6:注解类可以没有成员,没有成员的注解成为标识注解
定义注解,关键是要会使用元注解来注解自定义注解。元注解包括:
- @Target:说明了Annotation所修饰对象的范围。
- @Retention:表明该Annotation被保留的时间长短。取值包括:SOURCE、CLASS、RUNTIME。
- @Documented:描述其他类型的Annotation应该被作为被标注的程序成员的公共API。
- Inherited:用来阐述某个被标注的类型是被继承的。