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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Overheat 中级黑马   /  2015-7-13 00:59  /  424 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

其实就是动态加载一个指定的类,并获取该类中的所有的内容。而且将字节
码文件封装成对象,并将字节码文件中的内容都封装成对象,这样便于操作这些成员。
简单说:反射技术可以对一个类进行解剖。 反射的好处:大大的增强了程序的扩展性。
反射的好处,把代码动态化,提高了代码的灵活度减少了代码量!(假如将一个对象转化为另一个对象,或者从数据库导出对象。用反射就无需更改原有java逻辑代码。易维护)
反射的缺点,代码灵活度增大了,自然会带来效率的问题,因此,大量使用反射会带来效率低的问题!
反射不可随便用,整个系统中的反射用的过多,对系统性能有影响
反射的应用:用于实现一些框架的原理,或在java类中解析xml或properties里面的配置文件内容,得到一个字符串,然后用反射,根据这个字符串获得某个类的实例,这样就可以动态的配置一些信息,使日后维护起来比较方便
 反射的基本步骤: 
1、获得Class对象,就是获取到指定的名称的字节码文件对象。
2、实例化对象,获得类的属性、方法或构造函数。
3、访问属性、调用方法、调用构造函数创建对象。
 获取这个Class对象,有三种方式: 
1:通过每个对象都具备的方法getClass来获取。弊端:必须要创建该类对象,才可以调用getClass方法。 
2:通过对象的class属性获得。每一个数据类型(基本数据类型和引用数据类型)都有一个静态的属性Method。弊端:必须要先明确该类。 
 前两种方式不利于程序的扩展,因为都需要在程序使用具体的类来完成。 
3:使用的Class类中的方法,静态的forName方法。 
 指定什么类名,就获取什么类字节码文件对象,这种方式的扩展性最强,只要将类名的字符串传入即可。

4 个回复

倒序浏览
杨基米德 来自手机 中级黑马 2015-7-13 07:28:38
沙发
马上要看到反射了~先看两眼~
回复 使用道具 举报
谢谢分享!!
回复 使用道具 举报
总结的详细,顶一个
回复 使用道具 举报
总结的很好,学习学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马