Java的反射机制

- 反射是框架设计核心,反射的基本概念:将类的各个部分封装成对象,从而在程序运行时操作这些对象,便于程序解耦和扩展;

- 在java中运用反射的原理需要下面三个部分:

       - 定义一个class对象在java文件中并通过javac命令编译成.class文件(字节码文件)

       - 通过ClassLoader进行字节码文件的加载,封装成Class类对象的各个功能方法,以便调用;

       - Class类对象是用来描述加载的字节码文件的信息,主要包括类的成员变量、类的构造方法、类的成员方法等等信息,且单个字节码文件只会被加载一次;

       -  具体反射的实现如下所示:

Java的反射机制

- 上面的不同阶段可以对应不同的获取Class对象的方式:

  1.Class.forName(“全类名”):将字节码文件加载进内存,返回Class对象,常用于在配置文件中的类信息加载;

  2.类名.class:通过类名的属性class获取

  3.对象.getClass()

Java的反射机制