我有不同种类的方法的java类。不需要参数来调用某些方法。有些方法需要1个字符串参数,有些则需要1个字符串,1个int params等等。我的观点是,我有一些不同的方法,就像我在开头讲的那样。我在上面放了一个虚拟类,以便更容易理解。使用反射来调用随机方法
如果我有包/类/方法名称和带反射的参数,是否可以调用随机方法?
package dummyPackage;
public class DummyClass
{
public DummyClass() {
super();
// TODO Auto-generated constructor stub
}
public void foo() {
System.out.println("foo called");
}
public void bar(int sth) {
System.out.println(sth++);
}
public void doSth(int a,String b) {
System.out.println(a + "|" + b);
}
...
}
下面显示我需要什么。我对Java很陌生,不知道如何解决这个问题。
Object noparams[] = {};
Object[] params1 = new Object[1];
params1[0] = 100;
Object[] params2 = new Object[2];
params2[0] = 200;
params2[1] = "Test";
//What I need
NeededClass.reflect("dummyPackage.dummyClass.foo",noparams);
NeededClass.reflect("dummyPackage.dummyClass.bar",params1);
NeededClass.reflect("dummyPackage.dummyClass.doSth",params2);
你试过了什么? – Apurv 2013-03-05 15:29:21