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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 疯子的昨天 中级黑马   /  2014-1-30 13:57  /  1200 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 疯子的昨天 于 2014-2-1 20:36 编辑

ArrayList<Integer> list = new ArrayList<Integer>();
                   Method x = list.getClass().getMethod("add",Object.class);
              x.invoke(list, "String");
              System.out.println(list.toString());

这段代码现在是对的。但是 Method x = list.getClass().getMethod("add",Object.class);
把其中的 add改为“abc”为什么编译就报错了。。。帮忙解答一下。



评分

参与人数 1技术分 +1 收起 理由
FFF + 1 版主请假归来,现在加分!

查看全部评分

3 个回复

正序浏览
传入的参数类型,是Object里面的方法名字,改为abc,编译器找不到相对应的方法名字啊。个人观点。
回复 使用道具 举报
原来是这样!
回复 使用道具 举报
     Method x = list.getClass().getMethod("add",Object.class); 这行代码 的意思是获取Object类中的add方法,
把add改成abc就是获取名称为abc的方法,但是Object中没有abc方法,所以会报错。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马