注解:@Target和@Retention

@Target(ElementType.METHOD) 

@Retention(RetentionPolicy.RUNTIME)

public @interface FieldName {

    String value();

}

@Target用于设定注解使用的范围

使用ElementType来指定注解使用范围的枚举集合

取值 注解使用范围 METHOD 可用于方法上 TYPE 可用于类或者接口上 ANNOTATION_TYPE 可用于注解类型上(被@interface修饰的类型) CONSTRUCTOR 可用于构造方法上 FIELD 可用于域上 LOCAL_VARIABLE 可用于局部变量上 PACKAGE 用于记录java文件的package信息 PARAMETER 可用于参数上

其中:ElementType. PACKAGE。它并不是使用在一般的类中,而是用在固定的文件package-info.java中。这里需要强调命名一定是“package-info”。由于package-info.java并不是一个合法的类,使用eclipse创建类的方式会提示不合法,所以需要以创建文件的方式来创建package-info.java。


@Retention定义被它所注解的注解保留多久。

1。RetentionPolicy.SOURCE被编译器忽略

2。RetentionPolicy.CLASS注解将会保留在注解中,但在运行时并不会被VM保留。这是默认的行为,即使没有该注解,也默认使用该注解。

3。RetentionPolicy.RUNTIME注解将会保留在运行时。所以我们可以通过反射去获取注解信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值