import java.lang.reflect.Method;
public class Test extends Thread{
public void run() {
try {
Class ta = this.getClass();
for (String str : strs) {
Method m = ta.getDeclaredMethod(str, String.class, String.class, String.class);//str是方法名,后面是方法的参数类型
m.invoke(this,"11", "21", "31");//this是m方法属于的对象类,后面是m方法的参数
}
}
catch (Exception e) {
e.printStackTrace();
}
}
static String[] strs = {"function1","function2","function3"};
public static void main(String[] args) throws Exception {
Test t = new Test();
t.start();
}
public static void function1(String str1, String str2, String str3 ) {
System.out.println(str1 + "=" + str2 + "=" + str3);
}
public static void function2(String str1, String str2, String str3 ) {
System.out.println(str1 + "=" + str2 + "=" + str3);
}
public static void function3(String str1, String str2, String str3 ) {
System.out.println(str1 + "=" + str2 + "=" + str3);
}
}