黑马程序员技术交流社区

标题: JAVA反射问题 [打印本页]

作者: 曾辉    时间: 2012-1-31 14:55
标题: JAVA反射问题
本帖最后由 曾辉 于 2012-2-3 14:46 编辑

一个方法类的参数能否通过设置成泛型或者什么来接收反射的CLASS。
作者: 王_涛    时间: 2012-1-31 15:17
本帖最后由 王_涛 于 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





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2