黑马程序员技术交流社区

标题: 话说有人知道反射到底是干嘛的么 [打印本页]

作者: liqudely    时间: 2015-1-12 17:23
标题: 话说有人知道反射到底是干嘛的么
。。还有暴力反射是怎么回事。
作者: liqudely    时间: 2015-1-12 17:30
有暴力反射
作者: vermouth    时间: 2015-1-12 18:37
所谓反射,用例子来说,就是一面镜子,你给它照什么,它给你返回什么样子。
反射的基石是Class 类  
                包括类的名字、访问属性、所属包名、字段名称的列表、方法名称的列表等等
通俗的说,把Java类中的各种成分映射成相应的Java类
                一个类中的每个成员都可以用相应的反射API类的一个实例对象来表示,通过调用Class类的方法可以得到这些实例对象。

反射的用处:工具类被用户的类调用,框架则是调用用户提供的类
                     因为在框架中写程序时无法知道要被调用的类名,无法new某个实例,所以要用反射来做
                    比如:
                     /*
                        使用反射实例化对象
                */
                //利用反射完成:new String(new StringBuffer("abc"));
                Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class);
                //编译时候不知道是String的构造方法,运行时才知道是String的一个构造方法,所以必须强转告诉编译器得到String
                String s = (String)constructor.newInstance(new StringBuffer("abc"));
                System.out.println(s);

作者: wocan23    时间: 2015-1-12 21:20
vermouth 发表于 2015-1-12 18:37
所谓反射,用例子来说,就是一面镜子,你给它照什么,它给你返回什么样子。
反射的基石是Class 类  
                包括 ...

反射有啥好处啊
作者: 郑豪    时间: 2015-1-12 21:51
反射就是dota里一个黑乎乎的英雄的技能
作者: 魅影惊鸿    时间: 2015-1-12 22:21
路过,进来看看
作者: Awizard    时间: 2015-1-12 22:56
感觉上有点各种快捷操作的感觉
作者: vermouth    时间: 2015-1-12 23:58
wocan23 发表于 2015-1-12 21:20
反射有啥好处啊

不必须指定类型 就能对其从其操作
作者: sf1992    时间: 2015-1-13 01:39
有时无法知道要被调用的类名,所以要用反射来拿
作者: 温晓慧    时间: 2015-1-14 21:37
其实我也很想问,我的感觉就像,高考作文或者四六级作文的模板,没想好要写啥主题(也就是不知道用哪个类),但是这些东西的共性可以先写出来,以后直接拿来用?




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