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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 林翔 中级黑马   /  2012-5-28 22:54  /  2022 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

刚刚把之前的笔记整理了一下,看到反射这块还有点疑问。
反射在创建实例对象时:String str = (String)constructor.newInstance(new StringBuffer(“abc”));而普通方式只需String str = new String(new StringBuffer(“abc”));
从代码上看用普通方式明显比反射方式简洁,那么反射方式的优势在哪里,具体用在什么时候呢?


评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

2 个回复

正序浏览
反射的优势在于能够知道类名而不实例化对象的状态下,获得对象的属性或调用方法。一般都是在配置文件中才用的。
利用反射写出来的程序很灵活,例如在后续视频中,你在看到的张老师写的一个程序:你给我一个类,我就扫描它的属性,如说String类型的,就把里里面存放的字符串中的b变为a,你想想,这样一来是不是更加灵活了,不是具体的某一个类。
在后面的AOP思想中你也会接触到,对于你学习Spring会很用帮助。继续看视频吧。

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
反射就是把Java类中的各种成分映射成相应的java类,
根据给出的类的名称,可以获得这个类所有的信息(包括属性,构造器,方法等),同时还可以对类的方法进行调用。这在需要动态加载类的情况下尤其显得重要。
反射会导致程序性能下降

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马