java反射原理

2024-10-13 00:42:34

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

java反射原理

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

java反射原理

3、使用反射的一般步骤是获取Class对象,然后调用对象的属性及方法。获取Class对象有三种方式,第一种是对象调用getClass方法,即如果传输过来一个Object对象,我并不知道这个类琼藻樘哒具体是什么类,则可以通过getClass获取该类的信息。

java反射原理

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

java反射原理

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

java反射原理

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

java反射原理

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

java反射原理

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

java反射原理
猜你喜欢