元注解

【参考资料】

注解(Annotation)自定义注解入门http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html

 

在定义注解时,需要使用到元注解。所谓元注解,即标注注解的注解,用于对注解做说明。

Java中定义了4个元注解。

 

@Target

用于描述此注解对象可以使用在哪些地方,其参数value可使用的取值有

1.        ElementType.PACKAGE:用于描述包(?)

2.        ElementType.TYPE:用于描述类、接口(包括注解类型) enum声明

3.        ElementType.FIELD:用于描述成员变量

4.        ElementType.METHOD:用于描述成员方法

5.        ElementType.CONSTRUCTOR:用于描述构造方法

6.        ElementType.PARAMETER:用于描述参数

7.        ElementType.LOCAL_VARIABLE:用于描述局部变量

@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD})

 

这里有点疑问就是,如果只有一个Target的话,应该写成这样才是,因为类型是个数组

@Target({ElementType.TYPE})

但是直接写成这样也没问题

@Target(ElementType.TYPE)

 

@Retention

用于指示该注解在哪个级别保留,其参数value可使用的取值有

1.        SOURCE:在源代码中保留

2.        CLASS:.class字节码文件中保留

3.        RUNTIME:在运行时保留

其中,CLASS即为编译时注解,RUNTIME即为运行时注解,其使用和解析方式见后面章节。

 

@Document

表示此注解可被javadoc子类的工具文档化。

 

@Inherited

表示此注解是可以被继承的。如果一个类上使用了@Inherited修饰的注解,则这个类的子类也将拥有该注解。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值