1、反射指的是对象的反向处理操作,就需要先观察一下“正”的操作。在默认情况下,必须要先导入一个包。而后才能撸赳咸米产生的类的实例化对象:package com.gwolf.SpringBoot;import java.util.Date;public class App{ public static void main( String[] args ) { //正常来讲需要通过类才可以产生实例化对象 Date date = new Date(); }}
2、通过import就是导入程序需要的包。
3、所谓“反”指的是根据对象取得对象的来源,而这个“反”的操作核心处理就在于Object类的一个方法:取得Class类对象。public final native Class<?> getClass();
4、上述方法返回的就是Class类的对象,这个Class描述的就是类。调用getClass:packag髫潋啜缅e com.gwolf.SpringBoot;import java.util.Date;public class App{ public static void main( String[] args ) { //正常来讲需要通过类才可以产生实例化对象 Date date = new Date(); System.out.println(date.getClass()); }}
5、现在查看上述方法的结果:class java.util.Date
6、此时通过对象的确取得了对象的来源,这就是“反”的本质。在反射的世界里,它所看重的不再是对象,而是对象身后的组成:类,构造,普通,成员。