java中的每个类加载后,系统会为这个类生成一个对应的Class对象,通过该Class对象就可以访问到JVM中的这个类。
在JAVA中,类中的每一种成员都有其对应的类,如构造方法对应的类是Constructor类,方法成员对应的类是Method类,变量成员对应的类是Field,注解对应的类是Annotation,包对应的类是Package等。
获取一个类的Class对象有以下三种方式:
1、通过Class类的forName静态方法;
2、通过该类的class成员获取,如获取Student类的Class对象:Student.class;
3、通过该类实例的getClass()方法获取,如student实例的student.getClass()方法。
获取到某个类的Class对象后,就可以使用这个Class对象操作该类,如产生该类的新实例,获取该类的方法信息,变量信息,注解信息,调用该类的方法,设置和获取该类的变量值等。
Spring框架的依赖注入采用的就是反射机制。