java代码在计算机中的三个阶段 、代码反射 和 注解

1  反射的三个位置

编译 到运行 实际上也是3个阶段:源代码阶段 - 类对象阶段 - 运行阶段

java代码在计算机中的三个阶段 、代码反射 和 注解

源代码阶段,如果使用反射就是用"包名.类名"方式得到;

类对象阶段,反射通过 类名.class 得到; 

对象已经有了,可以通过对象.getClass()得到;OBject中存在的。

一般架构上,我们前两个使用较多。

三种反射得到的对象,内存地址相同,都是同一个对象;

java代码在计算机中的三个阶段 、代码反射 和 注解

2  反射的目的就是,得到类、方法、属性,并且可以调用方法、存取属性

java代码在计算机中的三个阶段 、代码反射 和 注解

反射属性:

java代码在计算机中的三个阶段 、代码反射 和 注解

3 反射的使用:

获取配置文件中的K-V值;

配置文件properties , 通过所在类的类加载器,继续加载属性文件。load();

得到对应的 类或者 方法的字符串,进行反射后调用。

java代码在计算机中的三个阶段 、代码反射 和 注解

java代码在计算机中的三个阶段 、代码反射 和 注解

4 注解:

注解,给程序看的注释。

java代码在计算机中的三个阶段 、代码反射 和 注解

作用, 用来进行标记。

java代码在计算机中的三个阶段 、代码反射 和 注解

4.1 JDK预定义了一些注解 :

java代码在计算机中的三个阶段 、代码反射 和 注解

4.2 注解的实质:

java代码在计算机中的三个阶段 、代码反射 和 注解

4.3 注解接口中的抽象方法,就是 使用时候@ 注解 后的属性;

java代码在计算机中的三个阶段 、代码反射 和 注解

java代码在计算机中的三个阶段 、代码反射 和 注解

4.4 自定义注解时候用到的4个元注解:

案例: 解析注解。 改造刚才配置文件的方式,使用此注解

java代码在计算机中的三个阶段 、代码反射 和 注解

5 注解使用的案例: 标记方法便于放射过滤

java代码在计算机中的三个阶段 、代码反射 和 注解