多语言展示
当前在线:1314今日阅读:179今日分享:36

java反射原理

java反射就是说在在程序运行状态下,我们都可以通过加载Class对象,从而获取该Class对象对应的类中所有成分信息,包含公有私有的属性、构造函数、方法等。
工具/原料
1

jdk1.8

2

IntelliJ IDEA

方法/步骤
1

首先我们需要了解java程序运行的过程,该过程包含两个阶段编译期和运行期。首先java代码会通过jdk编译成.class字节码文件,程序运行的时候,jvm会去调用业务逻辑对应需要的的字节码文件,生成对应的Class对象,并调用其中的属性方法完成业务逻辑。

2

而java反射则是在运行期时,主动让jvm去加载某个.class文件生成Class对象,并调用其中的方法属性。

4

第二种方式:知道类名,直接用类名.class方式获取。此种方式性能最优。

5

第三种方式:知道类的全限定名,使用Class对象的静态方法forName方法获取,此时会抛出ClassNotFoundException。此种方式在大多数的框架中使用,使用的最多。

6

通过Class对象,可以实现以下功能:获取类名。

7

获取类信息(属性,构造器,方法),此处以获取属性并设置私有属性值为例。

8

构造对象,调用对象方法。

注意事项

根据实际情况考虑使用哪种获取Class对象的方式

推荐信息