注解的作用类似于接口。使用注解让代码更简洁。
@java.lang.annotation. Target
指明注解作用在类上,方法上还是字段上。依次对应TYPE,METHOD,FIELD。
@java.lang.annotation. Retention
指明注解的保留级别。若为RUNTIME:vm将在运行期间保留注解,因此可以通过反射机制读取注解的信息。
可以通过default关键字给方法设置默认返回值。
<T extends Annotation> T java.lang.reflect.Field. getAnnotation(Class<T> annotationClass)
1.注解定义
定义自己的注解要用到@Target与@Retention注解@java.lang.annotation. Target
指明注解作用在类上,方法上还是字段上。依次对应TYPE,METHOD,FIELD。
@java.lang.annotation. Retention
指明注解的保留级别。若为RUNTIME:vm将在运行期间保留注解,因此可以通过反射机制读取注解的信息。
可以通过default关键字给方法设置默认返回值。
2.注解使用
@yourAnnotation(方法名1=值1,...,方法名n=值n)
@Target({ ElementType.METHOD, ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) public @interface WhoMatains { //方法名为value时,使用注解时可省略方法名 QdStaff value(); } //因为此注解方法名为value,可省略param1=xxx这种形式 @WhoMatains(QdStaff.yichu)
3.注解处理
从原理上讲,注解处理器就是通过反射机制获取被检查方法上的注解信息,然后根据注解元素的值进行特定的处理。<T extends Annotation> T java.lang.reflect.Field. getAnnotation(Class<T> annotationClass)
获得此字段上的注解。然后就可以当接口用了,调用它的方法来获得注解中的值。