@自定义注解

来源:互联网 发布:儿童英语配音软件 编辑:程序博客网 时间:2024/04/30 02:12
注解的作用类似于接口。使用注解让代码更简洁。

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)

获得此字段上的注解。然后就可以当接口用了,调用它的方法来获得注解中的值。

4.例子


1 0
原创粉丝点击