获取指定方法要指定两部分内容:
因为java中有重载一说,同名方法只要参数 相异是可以共存的,所以确定一个方法时方法参数也是必不可少的。
执行方法要有一个对象实体,一般我们都是执行某个对象的某个方法,所以一般格式如下:
方法名.invoke(对象实体,参数列表)
import java.lang.reflect.*; public class method2 { public int add(int a, int b) {return a + b;} public static void main(String args[]) { try { Class cls = Class.forName("method2"); Class partypes[] = new Class[2]; partypes[0] = Integer.TYPE; partypes[1] = Integer.TYPE; Method meth = cls.getMethod("add", partypes); method2 methobj = new method2(); Object arglist[] = new Object[2]; arglist[0] = new Integer(37); arglist[1] = new Integer(47); Object retobj = meth.invoke(methobj, arglist); Integer retval = (Integer) retobj; System.out.println(retval.intValue()); } catch (Throwable e) {System.err.println(e);} } }