黑马程序员技术交流社区

标题: 关于反射,有一点想不通的地方,求大神点拨 [打印本页]

作者: 无此姓名    时间: 2014-4-13 22:41
标题: 关于反射,有一点想不通的地方,求大神点拨
本帖最后由 无此姓名 于 2014-4-13 22:42 编辑

用反射的方式调用String类的charAt()方法,代码如下,
问题在代码里

  1. reflect_charAt() {
  2.         String str = "abc";
  3.         Method mthCharAt1 = String.class.getMethod("charAt", int.class);//这里int.class就是用来表示charAt方法的参数是int类型嘛,为什么不能直接用int呢,这一点一直想不通。我觉得这不只是语法规定,应该有一定的道理吧,求大神赐教
  4.         char ch1 = (char) mthCharAt1.invoke(str, 1);
  5.         System.out.println(ch1);
  6.         }
复制代码

作者: faith    时间: 2014-4-14 08:20
这个原因是不是  从int类型继承过来的  
作者: lwy0319    时间: 2014-4-14 11:43
int.class是Class类对象,而int不是
作者: 微笑=.一瞬间    时间: 2014-4-19 17:18
api 上规定的事class类型。不过跟人认为这 你既然前面都是通过class在内存中调用 如果你这写个int会出错
作者: 私夏晓    时间: 2015-11-29 17:33
果然是大神,佩服




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