黑马程序员技术交流社区

标题: 小弟对于反射的疑问 [打印本页]

作者: 821728010    时间: 2013-6-2 23:50
标题: 小弟对于反射的疑问
本帖最后由 821728010 于 2013-6-5 20:16 编辑

反射就是把java类中的各种成分映射成相应的java类,
那他到底能实现什么功能呢?使用反射又有什么好处吗?
类中的成员都可以用相应的反射API类的一个实例对象来表示,这些实例对象有什么用呢?
作者: 曹睿翔    时间: 2013-6-3 07:23
建议回头再看下张老师的发射机制,绝对的经典
作者: Changer_s    时间: 2013-6-5 10:05
本帖最后由 Changer_s 于 2013-6-5 10:14 编辑

我就說說我的理解吧:放射显著的优势在框架上面,框架的是一个很好利用的反射原理的一种应用。比如:
我们买框架房,也就是我们现在的经济房,也就是说房子大体框架已经为你做好了,你只需要装修就行。
放射的应用在哪里呢?这个框架房的搭建的时候它是不知道谁要买这个房子吧?它仅仅是再假设有人要买,
就是模拟一种人的影像,也就是说把人反射到这个房子里面,然完成房子的大致设计。所以说,放射的应用
在这种不确定具体是谁要住的情况下,使用起来更为方便。
我想你应该理解了一些吧?
【黑马云青年:江中炼为你解答】

作者: 袁梦希    时间: 2013-6-5 11:42
Changer_s 发表于 2013-6-5 10:05
我就說說我的理解吧:放射显著的优势在框架上面,框架的是一个很好利用的反射原理的一种应用。比如:
我们 ...

哥们 要突破40分了
作者: Changer_s    时间: 2013-6-5 14:35
袁梦希 发表于 2013-6-5 11:42
哥们 要突破40分了

共同進步吧!團長
作者: 疯狂程序    时间: 2013-6-5 14:42
本帖最后由 疯狂程序 于 2013-6-5 14:45 编辑

反射就是剖析java的各个部分封装成类,具体的主要就是三个类

constructor 类,就是获得被封装类的构造方法

filed 类 就是获得被封装类的成员变量

Method 类就是获得被封装类的方法

作者: 刘正祥    时间: 2013-6-5 17:09
反射就是调用Java中的底层应用,给你举个例子你就明白了:
  1. ArrayList<Integer> list = new ArrayList<Integer>();
复制代码
在这个泛型为Integer的ArrayList中存放一个String类型的对象。
这个就是用反射机制实现出来的
作者: 陈志强    时间: 2013-6-5 20:13
说说我的理解吧:

反射,是给框架用的,如果你不学框架,那么你就可以不用学反射,也就是说反射是框架的基础。我没有学过框架,这个在就业班有,所以必须学的。

反射就是把java类中的各种成分映射成相应的java类,这句话可以在API中的各个类的返回值来体现,可以说是已经很好的总结。


那他到底能实现什么功能呢?使用反射又有什么好处吗?
类中的成员都可以用相应的反射API类的一个实例对象来表示,这些实例对象有什么用呢?


那么我们相信反射是干嘛的,通过反射我们可以得到所加载类的构造函数,方法和字段。
那么简单的反过来讲,我们得到了一个类的构造方法我们可以做什么呢?构造函数的功能是什么呢?对不对?有了构造函数我们可以做什么呢?
同样我们可以得到这个类的方法和字段(属性),甚至是私有的都可以,那么我们得到了这些就可以newInstance来new出新的对象,那么就可以调用其方法了,当然这些都是通过反射的方式来得到的……

这是我的一点小小的理解,希望对你有帮助,错误之处,还请改正。(其实空格很多,{:soso_e120:})




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