先上理论
通过类实例化对象的getMethods() 方法可以获得该类所包括的全部方法, 返回值是Method[]。
通过类实例化对象的getMethod()方法可以获得该类所包括的指定方法, 返回值是Method,每个Method对象对应一个方法,获得Method对象后,可以调用其invoke()接口来调用对应方法。invoke(Object obj,Object [] args):obj代表当前方法所属的对象的名称,args代表当前方法的参数列表,返回值是当前方法的返回值。
后上代码
import java.lang.reflect.Method;public class Ts {public void myMethod() {System.out.println("调用了无参方法");}public void myMethod(String str, int num) {System.out.println("调用了带参数方法,参数为:" + str + ", " + num);}public static void main(String[] args) throws Exception {// 获取Class对象Class clazz = Ts.class;String a = "myMethod";// 获取无参方法Method method1 = clazz.getMethod(a);method1.invoke(new Ts());// 获取带参数的方法Method method2 = clazz.getMethod("myMethod", String.class, int.class);method2.invoke(new Ts(), "hello", 123);}
}