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

© a6511631 高级黑马   /  2014-7-28 11:04  /  5529 人查看  /  31 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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;
}
获得字段值

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

31 个回复

正序浏览
彭飞 发表于 2014-7-28 22:21
你这个问题,就好比
军队和军队里的 尖刀连

有点意思
回复 使用道具 举报
alive 中级黑马 2014-7-29 01:51:07
29#
不好理解  不过张孝祥老师的课比较有深度 。。。。
回复 使用道具 举报
还没看到,学习一下~
回复 使用道具 举报
还没看到这儿呢。。。友情支持下。。。。。。。。。。。
回复 使用道具 举报
vaqh 中级黑马 2014-7-29 00:01:48
26#
  不懂啊
回复 使用道具 举报
还没看到呢,刚看到第六天
回复 使用道具 举报

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

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

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

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

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

评分

参与人数 1黑马币 +1 收起 理由
a6511631 + 1 赞一个!

查看全部评分

回复 使用道具 举报 1 0
刷新召唤 发表于 2014-7-28 16:25
同感啊  我感觉张孝祥的视频看的好晕  感觉好多东西讲的听不懂 还没有老毕讲的好 反射视频 我还是看的毕 ...

同感啊,张孝祥老师的口音北方人感觉云里雾里的
回复 使用道具 举报
反射可以操作不同的java类,内省只能通过反射来操作JavaBean,JavaBean类里面操作的都是成员变量,都是通过setXXX和getXXX方法来获取成员变量,这样的类用内省来操作会更简单。
回复 使用道具 举报
默默的看着,内省没学到
回复 使用道具 举报
内省只是针对JavaBean类》。。。
回复 使用道具 举报
javaBean类只有通过内省操作才简单,反射会很复杂,等你学到家自然明白,
回复 使用道具 举报
方便对javaBean的操作
回复 使用道具 举报

回帖奖励 +1 黑马币

暂时还没学到这里来。
看看大家的讨论
回复 使用道具 举报
长跑※终点 发表于 2014-7-28 12:39
这个我也不清楚,感觉老张讲的没有老毕讲的详细,看过也是晕晕的。

同感啊  我感觉张孝祥的视频看的好晕  感觉好多东西讲的听不懂 还没有老毕讲的好 反射视频 我还是看的毕向东的 我才搞懂一点点
回复 使用道具 举报
lei 中级黑马 2014-7-28 16:15:32
15#
a6511631 发表于 2014-7-28 16:09
那...这个特殊设计的实际意义是?视频上面没有提到!网上的资料说的含糊其辞,看不懂 ...

设计内省就是为了能更快的获取javaBean类中的各种属性信息,相比较普通的反射,它的代码更加简单一些,特别是你使用了BeanUtils工具类后,获取和设置属性信息都是一行代码的事。张孝祥老师的视频里面有介绍到JavaBean和BeanUtils的具体方法。
回复 使用道具 举报
lei 发表于 2014-7-28 16:08
你可以把内省看做是一种特殊的反射,它就是jdk专门为javaBean提供的一套API操作。也就是说内省只能操作java ...

那...这个特殊设计的实际意义是?视频上面没有提到!网上的资料说的含糊其辞,看不懂
回复 使用道具 举报
lei 中级黑马 2014-7-28 16:08:34
13#

回帖奖励 +1 黑马币

你可以把内省看做是一种特殊的反射,它就是jdk专门为javaBean提供的一套API操作。也就是说内省只能操作javaBean类。而反射则能对所有类进行操作。
回复 使用道具 举报
adent 发表于 2014-7-28 15:38
内省应该只针对JavaBean

javaBean不能只用反射来获取字段吗?何必再多设计内省。
其实看教学讲解视频我就希望老师能够增加一个关于这个内容点的实际作用,不然完全不想学,
“学来能干嘛?”这一点老师每次讲课若能把知识点的实际应用稍微提个大概,就好了。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马