写完善例子,,你看看
public class Test
{
public void methodA(String[] args,Object obj)
{
System.out.println("数组:"+Arrays.toString(args)+", 对象:"+obj);
}
public static void test(String classPath,Object obj,String methodName,Object[] params) throws Exception
{
Class> clazz=Class.forName(classPath);
//这里方法对象获取我简单这样写,但是具体params里面应该是什么样的数据下面说
Method method=clazz.getMethod(methodName,new String[0].getClass(),Object.class);
//下面是获取到method对象后调用直接传进去一个Object[]就可以了,参数匹配应该在获取方法的时候验证
method.invoke(obj,params);
}
public static void main(String[] args) throws Exception
{
//这里参数是应该遵循一定规则的,不是随意的,长度应该是要调用的方法参数的个数
Object[] params=new Object[2];
//参数的内容也是应该遵循一定规则的,每个位置对应具体参数类型
params[0]=new String[]{"A","B","C"};
params[1]=new Object();
test("Test",new Test(),"methodA",params);
}
}