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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© danielzyj 中级黑马   /  2014-3-25 17:39  /  1121 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 danielzyj 于 2014-3-25 18:16 编辑

看了张老师反射的视频,有点晕。。。。。
用反射获得的对象: Constructor constructor = String.class.getConstructor(StringBuffer.class);
                                 tring str5 =(String) constructor.newInstance(new StringBuffer("abc"));

直接创建对象: String str2 = new String(new StringBuffer("abc"));
反射的优势在什么地方?直接创建不是更简单吗,什么时候会用到反射呢?

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

2 个回复

倒序浏览
Java的反射机制是在编译并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审,使用在编译期并不知道的类
假如我们有两个程序员,一个程序员在写程序的时候,需要使用第二个程序员所写的类,但第二个程序员并没完成他所写的类。那么第一个程序员的代码能否通过编译呢?这是不能通过编译的。利用Java反射的机制,就可以让第一个程序员在没有得到第二个程序员所写的类的时候,来完成自身代码的编译。

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
在我知道的范围内就是,使用反射可以创建动态代理,可以优化工厂设计模式,可以用实例取得属性、方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马