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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

不管是否私有,getDeclaredField都能去访问,全都用它就足够
为什么还留着半个功能的getField?

7 个回复

倒序浏览
首先,getDeclaredField很长……

然后,既然设置了属性权限修饰符,那么肯定是不想让人看,私有的东西可能是一环套一环,修改一处就完蛋。

这是暴力反射的前奏,听名字就知道不提倡的干活
回复 使用道具 举报
wisely 发表于 2014-8-8 22:16
首先,getDeclaredField很长……

然后,既然设置了属性权限修饰符,那么肯定是不想让人看,私有的东西可能 ...

好吧,我觉得第一个理由最有说服力
回复 使用道具 举报
getField是可以获取到父类的共有字段的,而getDeclaredField只能获取本类所有字段
回复 使用道具 举报
学习了。
回复 使用道具 举报
内部实现不一样
回复 使用道具 举报

getField只可以获取public方法,而getDeclaredField无修饰限制
回复 使用道具 举报
一般不建议访问非公有成员,所以getDeclaredField不建议使用。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马