黑马程序员技术交流社区
标题:
反射中既然有了getDeclaredField()还要getField()有什么意义吗
[打印本页]
作者:
jwx555
时间:
2014-8-8 22:11
标题:
反射中既然有了getDeclaredField()还要getField()有什么意义吗
不管是否私有,getDeclaredField都能去访问,全都用它就足够
为什么还留着半个功能的getField?
作者:
wisely
时间:
2014-8-8 22:16
首先,getDeclaredField很长……
然后,既然设置了属性权限修饰符,那么肯定是不想让人看,私有的东西可能是一环套一环,修改一处就完蛋。
这是暴力反射的前奏,听名字就知道不提倡的干活
作者:
jwx555
时间:
2014-8-8 22:20
wisely 发表于 2014-8-8 22:16
首先,getDeclaredField很长……
然后,既然设置了属性权限修饰符,那么肯定是不想让人看,私有的东西可能 ...
好吧,我觉得第一个理由最有说服力
作者:
star5603
时间:
2014-8-9 11:53
getField是可以获取到父类的共有字段的,而getDeclaredField只能获取本类所有字段
作者:
liqi
时间:
2014-8-9 12:03
学习了。
作者:
执笔梦
时间:
2014-8-9 12:19
内部实现不一样
作者:
如果有梦
时间:
2014-8-9 12:25
getField只可以获取public方法,而getDeclaredField无修饰限制
作者:
justin1258
时间:
2014-8-9 16:10
一般不建议访问非公有成员,所以getDeclaredField不建议使用。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2