注解
Java注解是代码中的特殊标记,比如@Override、@Test等,作用是:让其他程序根据注解信息决定怎么执行该程序。
注解不光可以用在方法上,还可以用在类上、变量上、构造器上等位置。
自定义注解格式:
plaintext
1 | public @interface 注解名称 { |
注解的本质
java
1 | public MyTest{ |
使用XJad工具进行反编译
java
1 | public interface MyTest1 extends Annotation { |
注解本质上是接口,每一个注解接口都继承子Annotation接口,注解中的属性本质上是抽象方法。元注解
@Target(ElementType.TYPE)声明注解使用位置
- TYPE,类,接口
- FIELD,成员变量
- METHOD,成员方法
- PARAMETER,方法参数
- CONSTRUCTOR,构造器
- LOCAL_VARIABLE,局部变量
@Retention(RetentionPolicy.RUNTIME)声明注解保留时期
- SOURCE
- 只作用在源码阶段,字节码文件中不存在
- CLASS(默认值)
- 保留到字节码文件阶段,运行阶段不存在
- RUNTIME(开发常用)
- 一直保留到运行阶段
评论