java中的注解
注解是程序的一部分,用来描述Java代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行。
注解是通过@interface关键字进行定义,它的形式跟接口类似
注解通常扮演以下角色:
1.编译器指令
2.构建时指令
3.运行时指令
注解的作用:
1.生产文档
2.在编译时进行格式检查
3.跟踪代码依赖性,实现替代配置文件功能
元注解就是在注解上的注解,能应用到其他注解上。四个元注解分别是:@Target 1、@Retention、@Documented (注解文档化)、@Inherited(是否能被子类自动继承)
分别来将一下四种元注解的使用
第一种@Target这是一种应用广泛的元注解,限定的用来注解使用范围。
ElementType.ANNOTATION_TYPE 用在注解中
ElementType.PACKAGE 用在包中
ElementType.TYPE 用在类型上
ElementType.CONSTRUCTOR 用在构造方法上
ElementType.FIELD 用在属性上
ElementType.METHOD 用在方法上
第二种@Retention这也是一种应用广泛的元注解,用来定义注解的存在事件
RetentionPolicy.SOURCE 注解只存在于源代码中,编译成class的时候会丢弃注解
RetentionPolicy.CLASS 注解存在于class文件中,在加载到JVM中的时候会丢弃注解
RetentionPolicy.RUNTIME 注解在程序运行中依然存在
第三种@Documented,注解文档化,使用的很少。
第四种@Inherited,是否能被子类自动继承,使用的很少。