黑马程序员技术交流社区

标题: 看下下面这段代码 [打印本页]

作者: 疯子的昨天    时间: 2014-1-30 13:57
标题: 看下下面这段代码
本帖最后由 疯子的昨天 于 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”为什么编译就报错了。。。帮忙解答一下。




作者: 黄志成    时间: 2014-2-1 16:39
     Method x = list.getClass().getMethod("add",Object.class); 这行代码 的意思是获取Object类中的add方法,
把add改成abc就是获取名称为abc的方法,但是Object中没有abc方法,所以会报错。
作者: 疯子的昨天    时间: 2014-2-1 20:35
原来是这样!
作者: 那些人之一    时间: 2014-2-3 14:08
传入的参数类型,是Object里面的方法名字,改为abc,编译器找不到相对应的方法名字啊。个人观点。




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