全面解析Java注解
作者:网络转载 发布时间:[ 2012/11/20 9:50:45 ] 推荐标签:
注解定义包含四个元注解,分别为@Target,@Retention,@Documented,@Inherited。各元注解的作用如下:
1)@Target
表示该注解用于什么地方,可能的 ElemenetType 参数包括:
● ElemenetType.CONSTRUCTOR 构造器声明。
● ElemenetType.FIELD 域声明(包括 enum 实例)。
● ElemenetType.LOCAL_VARIABLE 局部变量声明。
● ElemenetType.METHOD 方法声明。
● ElemenetType.PACKAGE 包声明。
● ElemenetType.PARAMETER 参数声明。
● ElemenetType.TYPE 类,接口(包括注解类型)或enum声明。
2)@Retention
表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括:
● RetentionPolicy.SOURCE 注解将被编译器丢弃。
● RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃。
● RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。
举一个例子,如@Override里面的Retention设为SOURCE,编译成功了不要这一些检查的信息,相反,@Deprecated里面的Retention设为RUNTIME,表示除了在编译时会警告我们使用了哪个被Deprecated的方法,在执行的时候也可以查出该方法是否被Deprecated。
3)@Documented
将此注解包含在 javadoc 中
4)@Inherited
允许子类继承父类中的注解
3、使用注解
下面是一个使用注解注解的实例。
@Description(value="使用注解的实例")
public class TestAnnotation {
}
使用注解的语法:@<注解名>(<成员名1>=<成员值1>,<成员名1>=<成员值1>,...)
如果成员是数组类型,可以通过{}进行赋值,如boolean数组的成员可以设置为{true,false,true}。下面是几个注解标注的例子:
1)多成员的注解
@AnnoExample(id= 2868724, synopsis = "Enable time-travel", engineer = "Mr. Peabody")
相关推荐
更新发布
常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11系统性能测试及调优前期准备
2021/4/15 14:41:29国内比较好用的5款测试管理工具
2021/3/25 17:23:31