黑马程序员技术交流社区

标题: 关于反射在创建实例对象时的疑问 [打印本页]

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



作者: 小小企鹅    时间: 2012-5-28 23:06
反射就是把Java类中的各种成分映射成相应的java类,
根据给出的类的名称,可以获得这个类所有的信息(包括属性,构造器,方法等),同时还可以对类的方法进行调用。这在需要动态加载类的情况下尤其显得重要。
反射会导致程序性能下降
作者: 秦冲    时间: 2012-5-28 23:16
反射的优势在于能够知道类名而不实例化对象的状态下,获得对象的属性或调用方法。一般都是在配置文件中才用的。
利用反射写出来的程序很灵活,例如在后续视频中,你在看到的张老师写的一个程序:你给我一个类,我就扫描它的属性,如说String类型的,就把里里面存放的字符串中的b变为a,你想想,这样一来是不是更加灵活了,不是具体的某一个类。
在后面的AOP思想中你也会接触到,对于你学习Spring会很用帮助。继续看视频吧。




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