问十二:如何写一个自己的注解?

注解

注解(Annotation)是放在Java源码的类、方法、字段、参数前的一种标签。

注解本身对代码逻辑没有任何影响,如何使用注解由工具决定。

编译器可以使用的注解:

@Override          有这个注释后可以让编译器帮忙检查重写是否正确

@Deprecated            如果后面有地方调用了本方法,那么将会显示本方法已废弃

@SuppressWarnings

注解可以定义配置参数和默认值

定义注解

使用@interface定义注解(Annotation)

使用元注解定义注解:

@Target

@Retention

@Repeatable

@Inherited

 

定义Annotation的步骤

  1. 用@interface定义注解

 

注解的参数类似无参方法

可以设置一个默认值(推荐)

可以将最常用的参数命名为value(推荐)

 

  1. 用元注解(meta annotation)配置注解

 

Target:必须设置,定义注解在源代码的哪些地方能够使用

Retention:一般设置为RUNTIME

通常不必写@Inherited, @Repeatable等等

 

  1. 定义注解参数和默认值

例如

注解的处理

使用反射API读取Annotation:

Class.isAnnotationPresent(Class) 传入注解class,可以判断是否存在

getParameterAnnotations() 需要用一个二维数组表示

 

可以通过工具处理注解来实现相应的功能:

对JavaBean的属性值按规则进行检查

JUnit会自动运行@Test标记的测试

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值