A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

叶子566

初级黑马

  • 黑马币:15

  • 帖子:5

  • 精华:0

比如,服务端有 A  B  C D E...个类文件,每个类文件中可能又有aa  bb  cc  dd  e等不同的方法,
Http发送过来的消息比如为{"clazz":"A","method":"aa","parameter":["para1","para2", 3]
说明,clazz的值是我想调用的类,method的值,是我要调用这个类的方法,parameter是这个方法的参数。
我自己尝试用反射做,但是反射获取Method的时候,除了方法名,还需要传递一个Class类型的可变参数,(就是我要调用方法的各参数类型)我不知道怎么实现了

1 个回复

正序浏览
我自己是这么想的
1、利用反射获取Class对象
Class clazz = Class.forName("com.xxx.A");
Object obj = clazz.newInstance();
2、获取“aa”的Method
//   public Method getMethod(String name, Class<?>... parameterTypes)
Method method = clazz.getMethod("aa", ????);  // 问题就在这,获取aa方法的时候后面要带上入参类型

3、反射调用
method.invoke(obj, parameter);

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马