本帖最后由 王_涛 于 2012-1-31 15:22 编辑
Method m = obj.getClass().getDeclaredMethod(String name, Class<?>... parameterTypes)
直接这样就可以反射到你的方法,而且调用时,m.invoke(Object obj, Object... args)
里面的参数也全是Object的。你要想实现多态的话,那你要传的参数是继承自最顶层的Object了,那就必须得判断了,如果是你自己的一个类的话,就直接可以把父类对象当成方法的参数,然后可以传子类的对象
obj 是对象;
name是对象的方法名;
Class<?>... parameterTypes 是方法的参数列表的class类型;
args 是方法的参数;
参见API
java.lang.Class<T>
java.lang.reflect.Method
|