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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘占月 中级黑马   /  2012-4-14 17:49  /  1310 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. <p>   String str1 = "abc";
  2.   
  3.   Method mathodCharat = <font color="red">String</font>.class.getMethod("charAt", <font color="red">int.class</font>);//这段代码两点不懂。为什么用String. ?   int.class什么意思?
  4.   
  5. System.out.println(mathodCharat.invoke(str1, 1)); </p>
复制代码

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

2 个回复

倒序浏览
本帖最后由 如梦初醒 于 2012-4-14 19:25 编辑

String str1 = "abc";
Method mathodCharat = String.class.getMethod("charAt", int.class);//这段代码两点不懂。为什么用String. ?   int.class什么意思?
  System.out.println(mathodCharat.invoke(str1, 1));
我的回答:
String.class (类字面常量方式)  获得到的String类的java.lang.Class对象
String类的java.lang.Class对象 封装了String对象上的一切信息
通过String类的java.lang.Class对象的getMethod("charAt", int.class)方法反射到Sting对象上的charAt(int i)方法
getMethod("charAt", int.class)第一个参数为String对象上的方法名(如这里的charAt),第二个参数为要反射的方法的参数类型的Class对象(如这里的charAt(int i)方法的参数int的Class对象int.class)

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
如梦初醒 发表于 2012-4-14 19:23
String str1 = "abc";
Method mathodCharat = String.class.getMethod("charAt", int.class);//这段代码两 ...

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