黑马程序员技术交流社区

标题: 关于反射的基础概念 [打印本页]

作者: 张振纲    时间: 2012-8-19 18:20
标题: 关于反射的基础概念
今天开始学张老师讲的反射
有几点疑惑

1.字节码是文件编译后产生的,可以将字节码理解为编译后产生的.class文件吗?还是说字节码是.class文件加载到内存时的数据

2.通过Class类反射会来的方法,构造方法等,可不可以理解为创建实例对象返回它的属性值
作者: 陈鑫    时间: 2012-8-19 18:39
1、.class文件是字节码文件。视频里所说的字节码就是指.class文件加载到内存中后所在的那份物理地址。
2、视频中有句总结很经典:反射就是把java类中的各种成分映射成相应的java类。
那么你问题中的通过Class类反射会来的方法,构造方法等就是相应的Method类,Constructor类等等的对象
如:Constructor contructor =Class.forName("java.lang.String").getConstructor(StringBuffer.class);
Constructor 就是相应的类,contructor 就是该类的一个对象。


作者: 李知伦    时间: 2012-8-20 08:24
我是这么理解的
1.字节码文件当然是java编译器编译后生成的.class文件
反射用到的那段字节码,是类加载器加载了对应的.class文件得到的二进制数据

2.反射会调用线程,创建匿名对象去访问(运行)目标类,同时返回所需要的信息

主要还是用在框架和数据库的操作上面
要是让张老师解释,肯定会说你只要管吃鸡蛋就行了,谁下的不用知道那么清楚.........





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