黑马程序员技术交流社区

标题: 关于反射的定义? [打印本页]

作者: simonqian    时间: 2013-5-14 21:16
标题: 关于反射的定义?
本帖最后由 simonqian 于 2013-5-16 08:03 编辑

今天看了张老师的视频,没怎么听懂,然后又去网上查了很多资料,我个人认为
反射其实就是你写一个类,这个类有属性和方法,编译后就有了相应的字节码,然后你想调用该类的某个方法,是不是就是通过字节码再去调用这个类的方法,这叫做反射,对吗?
如果不对,请举一个生活中的例子?谢谢
作者: ZhaoYuBetter    时间: 2013-5-14 21:31
类运行时,对自身的检查。
作者: xiewen    时间: 2013-5-14 23:22
你这样理解是对的
作者: Neverbelazy    时间: 2013-5-14 23:36
1. 一段程序写好了class类加载到内存都有字节码;
2. 通过字节码我们是可以知道完整的类的信息的;
3. 全套的字节码都知道了,可调用的就不止方法了, 可以是Constructor,Field 和 Method
4. 所以反射就是一种 通过一个类的class类-->得到字节码-->去获取这个类的(C,F,M)信息-->生产这个类的对象,内存中修改/获取成员变量值,调用成员方法 的过程
5. 所以,相比以往在程序中写死 静态地使用类,反射提供了一个动态地使用类的一种方式,即透过反射获取这个类的抽象的信息,和加载配置文件的办法,动态地使用类




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