反射的使用步骤:
1、获取想要操作的类的 Class 对象,他是反射的核心,通过 Class 对象我们可以任意调用类的方法。获取Class对象有一下四种方法:
a.调用某个对象的 getClass()方法
Person p=new Person();
Class clazz=p.getClass();
b. 调用某个类的class属性来获取该类对应的Class对象
Class clazz=Person.class;
c. 使用Class类中的forName()静态方法(最安全,性能最好)
Class clazz=Class.forName(“类的全路径”); (最常用)
2、 调用 Class 类中的方法,既就是反射的使用阶段。
3、 使用反射 API 来操作这些信息。
利用反射动态创建对象实例:
Class 对象的 newInstance()
1、使用 Class 对象的 newInstance()方法来创建该 Class 对象对应类的实例,但是这种方法要求该 Class 对象对应的类有默认的空构造器。
2. 调用 Constructor 对象的 newInstance():
先使用 Class 对象获取指定的 Constructor 对象,再调用 Constructor 对象的 newInstance()方法来创建 Class 对象对应类的实例,通过这种方法可以选定构造方法创建实例。