本帖最后由 如梦初醒 于 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) |