JAVA反射不知道方法参数个数与参数类型如何反射

JAVA反射不知道方法参数个数与参数类型如何反射

把所有方法找出来,然后通过方法名字来推测是哪个,你既然打算反射,当然是别人通过一个字符串把要调用的方法名告诉你了,如果你连方法名都不知道,就表示你不知道要自己做什么,如果这个反射是有“人”通过界面输入来动态地执行那就表示那个“人”不知道自己要做什么?这就是另一个问题了,不是 Java 问题。追问

方法名知道,方法里面参数个数不确定,参数类型不确定,也就是obj.getDeclaredMethod("方法名",此处填什么);这样一个问题

追答

当不知道参数个数和类型时,不要用 getDeclaredMethod 但可以用 getDeclaredMethods("方法名"); 得到一个列表,跑循环拿里面的内容出来。

追问

最后一个问题,参数怎么传进入难?getDeclaredMethods("方法名")得到一个method数组,我循环是可以取得这个方法的,但是我需要传参数,这样子method.invoke(obj.newInstance(),parms); parms定义是 Object... parms这种

追答

如果有同名的多个方法你怎么决定是调用哪个?
不管你最终选择了调用哪个,直接 method.invoke(obj, new Object[] { 参数1,参数2...}); 就可以了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-10-27
T.. string

泛型即可追问

方法名知道,方法里面参数个数不确定,参数类型不确定,也就是obj.getDeclaredMethod("方法名",此处填什么);这样一个问题,具体的话能按照我这个实例写一下吗

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网