Java反射机制

在Java中对Class有两种操作方式,对Class类进行直接调用和间接调用。

举个小栗子:
下面有个Cat类有两个构造函数,一个方法,和3个属性

Java反射机制_第1张图片

直接调用

Java反射机制_第2张图片

间接调用:

Java反射机制_第3张图片

ClassLoader类装载器

反射的实现:Class文件由类装载器装载后,在JVM中形成一份描述Class结构的元信息对象,通过该对象可以获知Class的结构信息,如构造函数、属性和方法。然后通过这个与Class相关的元信息对象间接调用Class对象的功能。

ClassLoader的工作机制:
      寻找类的字节码文件并构造出类在JVM内部表示对象的组件。类装载器将一个类装入JVM中,需要以下步骤
                   1.装载:查找和导入class文件
                   2.链接:执行校验、准备和解析步骤,其中解析步骤是可以选择的
                    ---------》校验:检查载入class文件数据的正确性
                    ---------》准备:给类的静态变量分配空间
                    ---------》解析:将符号引用转换成直接引用
                   3.初始化



你可能感兴趣的:(Java反射机制)