说明一下JAVA中反射的实现过程和作用分别是什么?

  • 定义:
    • JAVA语言编译之后会生成一个.class文件,反射就是通过字节码文件找到某一个类、类中的方法以及属性等。
  • 作用:
    • 反射机制指的是程序在运行时能够获取自身的信息。在JAVA中,只要给定类的名字,那么就可以通过反射机制来获取类的所有信息,使程序更加的灵活。
  • 反射机制的相关类在哪个包下:
    • java.lang.reflect.*;
  • 反射机制相关的重要的类有哪些?
    • java.lang.Class; 代表:整个字节码文件,代表一个类型,代表整个类。
    • java.lang.reflect.Method; 代表:字节码中的方法字节码,代表类中的方法。
    • java.lang.reflect.Constructor; 代表:字节码中的构造方法字节码,代表类中的构造方法。
    • java.lang.reflect.Field; 代表:字节码中的属性字节码,代表类中的成员变量(静态变量和实例变量)
  • 获取Class的三种方式
    • Class c = Class.forName(“完整类名带包名”);
    • Class c = 对象.getClass();
    • Class c = 任何类型.class;(java语言中任何一种类型,包括基本数据类型,它都有.class属性)