注解和反射笔记

元注解

一、@Target

注解的注解,指定注解针对的目标

ElementType——针对的类型

ElementType.TYPE -> 针对类、接口

ElementType.FIELD -> 针对成员变量

ElementType.METHOD -> 针对成员方法

ElementType.PARAMTER -> 针对方法参数

ElementType.CONSTRUCTOR -> 针对构造器

ElementType.PACKAGE -> 针对包

ElementType.ANNOTATION_TYPE -> 针对注解

二、@Retention 指定注解的保留域

指定注解的存活时间

RetentionPolicy.SOURCE -> 源代码级别,由编译器处理,处理之后不再保留

RetentionPolicy.CLASS -> 注解信息保留到类对应的class文件中

RetentionPolicy.RUNTIME -> 由JVM读取,运行时使用

 

注解仅仅是一个标识,并不会完成具体的功能;在程序的各个期间通过反射机制去执行想要实现的功能。

反射

在程序运行期间动态创建对象

编写代码/编译的过程,不知道要创建的是哪个对象

只有在运行期间才知道要创建的对象是谁

动态获取类的信息,从而创建对象

注解是结合反射来运行,注解只是相当于一个标识,不做具体的操作,具体操作是通过反射来完成的

 

上一篇:自定义注解


下一篇:java注解的概念与原理