黑马程序员技术交流社区
标题:
关于反射中的Method方法
[打印本页]
作者:
せR3n、何必装纯
时间:
2011-11-22 14:47
标题:
关于反射中的Method方法
前一段时间看了张老师讲的反射,没弄明白,跳过去了,今天又去看了。但看到方法的时候,有点弄不明白
如:Method mt=String.class.getMethod("charAt",int.class);
为什么要用String去点呀?
作者:
tintick
时间:
2011-11-22 15:17
因为他要反射出String类的方法呀。
作者:
高庆亮
时间:
2011-11-22 15:17
本帖最后由 高庆亮 于 2011-11-22 16:46 编辑
因为是获得String类的Method,如果你把它换成其他类就是获得其它类的Method。
Method mt=String.class.getMethod("charAt",int.class);
这句话的意思是通过反射获得String类里的charAt方法。
(老师记得给我加分呀!就差3分了。我就要去黑马啦!)
作者:
张志东
时间:
2011-11-22 15:46
补充一点:反射就是用另一种方式去调用一个类,并且比原来的方式还要多。
作者:
崔浩
时间:
2011-11-22 16:53
首先class是通过Object继承过来的,是一个静态的属性,String.class得到的是String在内存中的字节码,然后同过getMethod("charAt",int.class);其中charAt代表的是方法的名称,而int.class 代表的是方法中参数的类型
作者:
宿万涛
时间:
2011-11-22 17:30
得到字节码对应的实例对象有三种方式
(1)类名.class 例如Peson.class
(2)对象.getClass() 例如new Date().getClass()
(3)Class.forName("类名") 例如Class.forName("java.util.Date")
这里String就是java类,String.class就是用来得到String类的字节码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2