黑马程序员技术交流社区

标题: 反射与内省的联系区别 [打印本页]

作者: a6511631    时间: 2014-7-28 11:04
标题: 反射与内省的联系区别
本帖最后由 a6511631 于 2014-7-29 16:44 编辑

反射中通过getClass(),getField().get()获得字段值内省中
private static Object getProperty(Object p1,
                        String propertyName) throws Exception {
PropertyDescriptor pd = new PropertyDescriptor(propertyName,p1.getClass());
                Method methodGet = pd.getReadMethod();
                Object retVal = methodGet.invoke(p1);
                return retVal;
}
获得字段值

这有什么区别?没事整两出干嘛?还搞个内省有什么实在意义吗

作者: 日光加蓝    时间: 2014-7-28 12:21
bujidao~~~~~~~~~~~~~
作者: 日光加蓝    时间: 2014-7-28 12:22
布吉岛。。。。。。。。。。。。。。。
作者: 日光加蓝    时间: 2014-7-28 12:27
我是来中奖的。
作者: 日光加蓝    时间: 2014-7-28 12:29
楼主 概率低啊。。。。。。。。。。。。
作者: 日光加蓝    时间: 2014-7-28 12:33
:'(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: 日光加蓝    时间: 2014-7-28 12:37
:Q:Q:Q、、、、、、、、、、、、、、、、、、
作者: 长跑※终点    时间: 2014-7-28 12:39
这个我也不清楚,感觉老张讲的没有老毕讲的详细,看过也是晕晕的。
作者: 日光加蓝    时间: 2014-7-28 12:41
人品不好了。。。
作者: adent    时间: 2014-7-28 15:38
内省应该只针对JavaBean
作者: cheye0207    时间: 2014-7-28 16:05
内省是特殊的反射,不是内省不一定有get和set方法吧:L
作者: a6511631    时间: 2014-7-28 16:07
adent 发表于 2014-7-28 15:38
内省应该只针对JavaBean

javaBean不能只用反射来获取字段吗?何必再多设计内省。
其实看教学讲解视频我就希望老师能够增加一个关于这个内容点的实际作用,不然完全不想学,
“学来能干嘛?”这一点老师每次讲课若能把知识点的实际应用稍微提个大概,就好了。
作者: lei    时间: 2014-7-28 16:08
你可以把内省看做是一种特殊的反射,它就是jdk专门为javaBean提供的一套API操作。也就是说内省只能操作javaBean类。而反射则能对所有类进行操作。
作者: a6511631    时间: 2014-7-28 16:09
lei 发表于 2014-7-28 16:08
你可以把内省看做是一种特殊的反射,它就是jdk专门为javaBean提供的一套API操作。也就是说内省只能操作java ...

那...这个特殊设计的实际意义是?视频上面没有提到!网上的资料说的含糊其辞,看不懂
作者: lei    时间: 2014-7-28 16:15
a6511631 发表于 2014-7-28 16:09
那...这个特殊设计的实际意义是?视频上面没有提到!网上的资料说的含糊其辞,看不懂 ...

设计内省就是为了能更快的获取javaBean类中的各种属性信息,相比较普通的反射,它的代码更加简单一些,特别是你使用了BeanUtils工具类后,获取和设置属性信息都是一行代码的事。张孝祥老师的视频里面有介绍到JavaBean和BeanUtils的具体方法。
作者: 刷新召唤    时间: 2014-7-28 16:25
长跑※终点 发表于 2014-7-28 12:39
这个我也不清楚,感觉老张讲的没有老毕讲的详细,看过也是晕晕的。

同感啊  我感觉张孝祥的视频看的好晕  感觉好多东西讲的听不懂 还没有老毕讲的好 反射视频 我还是看的毕向东的 我才搞懂一点点
作者: 龙帅    时间: 2014-7-28 17:34
暂时还没学到这里来。
看看大家的讨论
作者: 乐此不疲    时间: 2014-7-28 19:59
方便对javaBean的操作
作者: rekirt    时间: 2014-7-28 20:46
javaBean类只有通过内省操作才简单,反射会很复杂,等你学到家自然明白,
作者: 咖啡苏克    时间: 2014-7-28 21:05
内省只是针对JavaBean类》。。。
作者: 醉、倾鯎    时间: 2014-7-28 21:10
默默的看着,内省没学到
作者: caiyaoren    时间: 2014-7-28 21:12
反射可以操作不同的java类,内省只能通过反射来操作JavaBean,JavaBean类里面操作的都是成员变量,都是通过setXXX和getXXX方法来获取成员变量,这样的类用内省来操作会更简单。
作者: 醉、倾鯎    时间: 2014-7-28 21:13
刷新召唤 发表于 2014-7-28 16:25
同感啊  我感觉张孝祥的视频看的好晕  感觉好多东西讲的听不懂 还没有老毕讲的好 反射视频 我还是看的毕 ...

同感啊,张孝祥老师的口音北方人感觉云里雾里的
作者: 彭飞    时间: 2014-7-28 22:21

你这个问题,就好比
军队和军队里的 尖刀连

JavaBean  属于反射,特殊与一般反射。

是一种较为特殊的反射方法,更为快捷的获相应的东西。

假设给你一个未知的JavaBean类,
1、通过普通反射查看该类自身方法,并打印出所有方法,
               根据查看判断后再次使用获取对应get、set方法
2、通过JavaBean 特有方法获取。

存在既有需求。  独立说明更具效率。

作者: dreamseekerkun    时间: 2014-7-28 23:26
还没看到呢,刚看到第六天
作者: vaqh    时间: 2014-7-29 00:01
  不懂啊
作者: 烟海    时间: 2014-7-29 00:07
还没看到这儿呢。。。友情支持下。。。。。。。。。。。
作者: ソi苆僞lè袮    时间: 2014-7-29 00:30
还没看到,学习一下~
作者: alive    时间: 2014-7-29 01:51
不好理解  不过张孝祥老师的课比较有深度 。。。。
作者: a6511631    时间: 2014-7-29 08:18
彭飞 发表于 2014-7-28 22:21
你这个问题,就好比
军队和军队里的 尖刀连

有点意思




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