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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奋斗2014 中级黑马   /  2014-6-30 16:15  /  901 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

           number num=new number(8,10);
           Field fil1=num.getClass().getField("y");
           System.out.println(fil1.get(num));
         上面这个题目是反射里面张孝祥老师讲到的Field中的一个小案例。但是他说fil1的值不等于10,这个我不是很理解。因为从代码上来看,fil1这个变量不是已经接收了y的值嘛。既然y等于10,那我觉得fil1当然是10啊!

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

3 个回复

倒序浏览
这获取到的变量不是对象中变量的,而是类中的,
                       
通过用它获取对应对象中的对应变量的值
int num = file1.get(对象);

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
执笔梦 发表于 2014-6-30 17:22
这获取到的变量不是对象中变量的,而是类中的,
                       
通过用它获取对应对象中的对应变量的值

谢谢,好像有那么一点懂了。
回复 使用道具 举报
最后一句代码打印的结果不是10嘛?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马