Java中通过反射调用类中的方法,具体实现起来要注意两点:
(1)通过 Class 类的 getMethod 方法取的 Method 对象,并设置调用方法时需要的参数类型。
(2)使用 Method 方法调用 invoke 方法,并向该方法传递参数,其参数通常是一个类的对象。
个人总结,大致需要以下四个步骤:
1. 获取当前类的Class对象。 (通过forName()动态加载类)
2. 实例化这个Class对象。 (通过newInstance: Object obj=student.newInstance() )
3. 获取当前类的某个(些)方法
4用 方法对象名.invoke ,通过Class对象的实例,调用带相应参数的,当前类的方法。
代码如下:
******************学生类****************
类里面有两个方法,一个带参数,一个不带参数
package zj4_6;
import java.lang.reflect.InvocationTargetException;
public class Student {
public void printInfo(){
System.out.println("打印学生信息");
}
public void printAddress(String address){
System.out.println("hellow,I come from "+address);