Java 反射调用类的函数,并传递参数
通过类的包路径和函数名称以及已知参数类型,进行传参函数调用
示例
- 被调用函数
public class Test {
public void testInvoke(String name, String des) {
System.out.println("你好"+ name +"," + des);
}
}
- 调用函数
public class TriggerTest {
public static void main(String[] args) throws Exception {
// 通过Class.froName,传递package及className获取Class
Class c = Class.forName("com.frank.sbr.action.provider.test.Test");
// 获取Class
Object obj = c.newInstance();
//调用Class类的方法getMethod获取指定的方法testInvoke
Method method = c.getMethod("testInvoke", String.class,String.class);
//调用Method类的方法invoke运行testInvoke方法
method.invoke(obj, "Frank", "我饿了");
}
}
- 时序图
基本实现功能,实际研发中需要根据具体设计执行,例如MQ的消费、定时任务的执行等。