社区
Java SE
帖子详情
反射到底有什么用??????????????????
notlogin
2011-07-06 03:59:53
我知道的反射的作用就是“查找类的方法或属性”。
如果只是为了查找类的方法和属性,借助于Eclipse不是也可以看到么?
关于反射,我在项目中用到的就是JavaBean属性的复制,因为一些原因,不能使用beanutils,所以使用了反射来复制JavaBean的值。反射还有其他用处么?
...全文
588
23
打赏
收藏
反射到底有什么用??????????????????
我知道的反射的作用就是“查找类的方法或属性”。 如果只是为了查找类的方法和属性,借助于Eclipse不是也可以看到么? 关于反射,我在项目中用到的就是JavaBean属性的复制,因为一些原因,不能使用beanutils,所以使用了反射来复制JavaBean的值。反射还有其他用处么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SHARPSEVEN
2012-03-02
打赏
举报
回复
15楼说得很好,清楚明了
wuzhiwenk3001
2012-02-23
打赏
举报
回复
这样说,如果想学好框架,就要学好反射吧~~
北吹
2012-01-17
打赏
举报
回复
看了这么多回复,我忽然想起了天龙八部里的情节,鸠摩智去少林挑战,号称自己会很多少林72绝技,其实却是用小无相功为核心发功的。反射有点像这个,谁也不知道别人丢给自己的是什么武功秘籍,但用反射却能够很优雅的施展这些武功。
lacus87
2011-07-12
打赏
举报
回复
框架都用的反射,要不然怎么实现配置化?
luckygino
2011-07-09
打赏
举报
回复
对于初学者而言 只要清楚反射提供了一种创建类的手段就可以了
在实际的开发过程中也用得不多
当你开发三四年之后 运用了框架技术
你就知道 反射虽小 功能强大啊
bolink5
2011-07-09
打赏
举报
回复
反射有什么用,就好比金庸小说中的内功,再犀利的招式没有内功就发挥不出其应用的功效
典型的SSH 中就使用到了大量的反射,spring的依赖注入和aop,s2的拦截器等等
反射也有不好的地方 使运行状态中的java属性和方法可以随便调用,存在安全性的问题;相对而言消耗的内存也要多的多
飞跃颠峰
2011-07-06
打赏
举报
回复
框架本身也是个很典型的应用反射的例子,你不要只看到JavaBean,框架从url到Action的映射、filter的定义等等也是通过反射做到的,
飞跃颠峰
2011-07-06
打赏
举报
回复
[Quote=引用 12 楼 notlogin 的回复:]
哦,好吧,我表达错误 = =
请教下,除了复制JavaBean,还有什么时候可能用到反射?
[/Quote]
反射的核心是运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的时候)知道运行对象是谁
这些可能你能看明白,但没遇到一个实际情况很难理解。
举个例子好了,假如让你通过一个XML配置文件(或任何自己定义格式的文本文件)来控制Java程序的执行并输出结果,当改变了传入参数或甚至改变被加载的类时,都不需要修改Java代码而只需要修改配置文件,你应该怎么做?
24K純帥
2011-07-06
打赏
举报
回复
JAVA反射机制主要提供了以下功能:
1.在运行时判断任意一个对象所属的类
2.在运行时构造任意一个类的对象
3.在运行时判断任意一个类所具有的成员变量和方法(通过反射甚至可以调用private方法)
4.在运行时调用任意一个对象的方法(*****注意:前提都是在运行时,而不是在编译时)
iis81365341
2011-07-06
打赏
举报
回复
动态地加载某个类,调用类的方法或属性。
据说还可以调用其他对象的私有方法,呵呵。
syoumei
2011-07-06
打赏
举报
回复
反射都是些生成实例,执行方法什么的。那为什么不直接new或者直接执行实例的方法呢?
这说明需要执行的处理类型事先是不知道的,在运行时确定。也就是说有这种需求的时候就要用反射。
一般都是些容器类型的工具框架才需要。等写到了自己就会想起来用。
notlogin
2011-07-06
打赏
举报
回复
[Quote=引用 11 楼 alexandertech 的回复:]
引用 8 楼 notlogin 的回复:
这个我知道,但是那些框架都是人家封装好的
我的意思是,在开发的时候,我们自己什么情况下可以单独的使用反射,而不是调用那些利用反射机制做好的,诸如spring hibernate中的API
如果是这样你提问的方式不恰当
不应该问反射有什么用
而应该问反射对我有什么用
具体到对某个程序员有什么用,要看具体情况
可能很多人永远也不……
[/Quote]
哦,好吧,我表达错误 = =
请教下,除了复制JavaBean,还有什么时候可能用到反射?
飞跃颠峰
2011-07-06
打赏
举报
回复
[Quote=引用 8 楼 notlogin 的回复:]
这个我知道,但是那些框架都是人家封装好的
我的意思是,在开发的时候,我们自己什么情况下可以单独的使用反射,而不是调用那些利用反射机制做好的,诸如spring hibernate中的API
[/Quote]
如果是这样你提问的方式不恰当
不应该问反射有什么用
而应该问反射对我有什么用
具体到对某个程序员有什么用,要看具体情况
可能很多人永远也不需要自己写反射代码
毕竟很多其它高级语言没有反射机制,不是也被使用得很好么
amos1989
2011-07-06
打赏
举报
回复
主要用到的地方还是写工具,写框架。。
notlogin
2011-07-06
打赏
举报
回复
比如LZ(我)说的 不能用beanutils 复制JavaBean属性的时候,就可以使用反射来复制。
我说的是这个意思,不是说spring hibernate 中用没用到反射的问题
notlogin
2011-07-06
打赏
举报
回复
[Quote=引用 5 楼 alexandertech 的回复:]
官方一点的说法就是:
反射允许程序创建和控制任何类的对象,无需提前硬编码目标类。这些特性使得反射特别适用于创建以非常普通的方式与对象协作的库。Java reflection 非常有用,它使类和数据结构能按名称动态检索相关信息,并允许在运行着的程序中操作这些信息。
通俗点的说法就是:
提供了对包括当前未知类的动态灵活的处理能力,比如没有反射的话,现在用于Web开发的很多框架就做不出来。
……
[/Quote]
这个我知道,但是那些框架都是人家封装好的
我的意思是,在开发的时候,我们自己什么情况下可以单独的使用反射
,而不是调用那些利用反射机制做好的,诸如spring hibernate中的API
syoumei
2011-07-06
打赏
举报
回复
aop
generic
annotation
用到的地方太多了...
chenchenyangll
2011-07-06
打赏
举报
回复
[Quote=引用 5 楼 alexandertech 的回复:]
官方一点的说法就是:
反射允许程序创建和控制任何类的对象,无需提前硬编码目标类。这些特性使得反射特别适用于创建以非常普通的方式与对象协作的库。Java reflection 非常有用,它使类和数据结构能按名称动态检索相关信息,并允许在运行着的程序中操作这些信息。
通俗点的说法就是:
提供了对包括当前未知类的动态灵活的处理能力,比如没有反射的话,现在用于Web开发的很多框架就做不出来。
……
[/Quote]
呀 升星了啊 = = 真速度。。。
我还是想问 借助于Eclipse怎么看到类的方法或属性?
飞跃颠峰
2011-07-06
打赏
举报
回复
官方一点的说法就是:
反射允许程序创建和控制任何类的对象,无需提前硬编码目标类。这些特性使得反射特别适用于创建以非常普通的方式与对象协作的库。Java reflection 非常有用,它使类和数据结构能按名称动态检索相关信息,并允许在运行着的程序中操作这些信息。
通俗点的说法就是:
提供了对包括当前未知类的动态灵活的处理能力,比如没有反射的话,现在用于Web开发的很多框架就做不出来。
gukuitian
2011-07-06
打赏
举报
回复
动态地加载某个类,调用其某个方法或属性。
加载更多回复(3)
java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心
什么时候用字符流? 26 【基础】GBK与UTF-8的区别 26 【基础】static、final、const的区别 26 final: 26 static: 27 【基础】如何实现对象克隆? 27 【基础】Java序列化与反序列化 27 为什么需要序列化与反序列化 28...
java面试题
stop()和suspend()方法为何不推荐使用? 25 52. 数据连接池 25 52.1. 连接池的基本原理: 25 52.2. 连接池的工作机制 25 52.3. 建立连接池 26 52.4. 连接池内连接的使用与释放 26 52.5. 配置连接池 26 52.6. 配置...
JAVA面试题最全集
stop()和suspend()方法为何不推荐使用? 59.使用socket建立客户端与服务器的通信的过程 60.JAVA语言国际化应用,Locale类,Unicode 61.描述
反射
机制的作用 62.如何读写一个文件? 63.在图形界面中,一个按钮...
戏耍XSS的一些技巧
当你手工或者软件挖到一个页面的xss时(无论是
反射
xss或者储蓄xss都可以),这个时候想要深入的利用这个漏洞,该怎么做呢?用WebRTC来内网端口检测?盗取cookies(登陆页面和注册页面一般都不会有用户cookies)?用...
python的
反射
到底
有什么用?
反射
到底
是个啥?
反射
这个词从逻辑上来说和倒影是差不多的,从一个3D的立体变成一个二维的平面影像,其实但从这个上面就已经可以理解在编程中
反射
是干啥用的了。 用官方的话说"
反射
主要是指程序可以访问、检测和...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章