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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 高丽华 中级黑马   /  2014-1-19 17:07  /  1129 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

自己看完了内省和反射就是有一点不清楚:内省与反射有什么关系?
内省有什么方法(除了set 和 get)??
求大神解答啊!!

4 个回复

倒序浏览
为什么没有人来回答啊啊!!!大神们呢!!
回复 使用道具 举报
如果想获得某个对象的属性值,需要用反射的方式得到getXX
回复 使用道具 举报
大神都不在吧。。我就说说我的理解吧。。

反射:一个类有多个组成部分,例如成员变量,方法,构造方法等。反射就是加载类,并解剖出类的各个组成部分。

为什么需要内省?(Introspector)
开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套用于操作JavaBean的API,专门用于操作java对象的属性。
访问JavaBean属性的两种方式:
1、直接调用bean的setXXX或getXXX方法。

2、通过内省技术访问(java.beans包提供了内省的API),内省技术访问也提供了两种方式。
       (1)、通过PropertyDescriptor类操作Bean的属性。
      (2)、通过Introspector类获得Bean对象的 BeanInfo,然后通过 BeanInfo 来获取属性的描述器( PropertyDescriptor ),通过这个属性描述器就可以获取某个属性对应的 getter/setter 方法,然后通过反射机制来调用这些方法。

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
不小心打断了。。。
如果想获得某个fangf对象的属性值,需要用反射的方式得到getXX方法,过程比较麻烦
内省应该就是这种反射过程的简化版吧。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马