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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张振纲 中级黑马   /  2012-8-19 18:20  /  1284 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天开始学张老师讲的反射
有几点疑惑

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

2.通过Class类反射会来的方法,构造方法等,可不可以理解为创建实例对象返回它的属性值

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
1、.class文件是字节码文件。视频里所说的字节码就是指.class文件加载到内存中后所在的那份物理地址。
2、视频中有句总结很经典:反射就是把java类中的各种成分映射成相应的java类。
那么你问题中的通过Class类反射会来的方法,构造方法等就是相应的Method类,Constructor类等等的对象
如:Constructor contructor =Class.forName("java.lang.String").getConstructor(StringBuffer.class);
Constructor 就是相应的类,contructor 就是该类的一个对象。

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

回复 使用道具 举报
我是这么理解的
1.字节码文件当然是java编译器编译后生成的.class文件
反射用到的那段字节码,是类加载器加载了对应的.class文件得到的二进制数据

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

主要还是用在框架和数据库的操作上面
要是让张老师解释,肯定会说你只要管吃鸡蛋就行了,谁下的不用知道那么清楚.........
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马