java 中的反射

菜鸟初级玛农 2020-05-13 05:33:54



麻烦大神解答一下,类的反射调用,获取成员方法的时候,这个强制为true的原理是什么?
...全文
77 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
android_cai_niao 2020-05-13
  • 打赏
  • 举报
回复
大哥,结一下贴子,谢谢^_^
菜鸟初级玛农 2020-05-13
  • 打赏
  • 举报
回复
引用 1 楼 android_cai_niao 的回复:
气死我了,上才艺!! 这是基础知识哈,私有变量和私有方法,既然是私有的,就是不希望外面去访问它,只能在类的内部访问。所以在使用反射的class.getFields()和class.getMethods()时,返回的Field和Method是不包含那些私有变量和私有方法的。 有时候,我想知道它的所有变量和方法,包括私有的,则使用class.getDeclaredFields()和class.getDeclaredMethods()。 有时候,我不但想知道它的私有变量和方法,我还想调用它,则需要设置filed和method的setAccesible为true,为什么要设置一下呢?因为系统认为私有的东西,外面不应该去访问,也不推荐你去访问,所以默认不给你访问,如果你setAccesible为true,那就是告诉系统,我知道它是私有的,我就是要访问它,OK,这时系统就给你访问了。 如果我的回答解决了你的问题,麻烦结一下贴,给点积分,谢谢^_^
android_cai_niao 2020-05-13
  • 打赏
  • 举报
回复
气死我了,上才艺!! 这是基础知识哈,私有变量和私有方法,既然是私有的,就是不希望外面去访问它,只能在类的内部访问。所以在使用反射的class.getFields()和class.getMethods()时,返回的Field和Method是不包含那些私有变量和私有方法的。 有时候,我想知道它的所有变量和方法,包括私有的,则使用class.getDeclaredFields()和class.getDeclaredMethods()。 有时候,我不但想知道它的私有变量和方法,我还想调用它,则需要设置filed和method的setAccesible为true,为什么要设置一下呢?因为系统认为私有的东西,外面不应该去访问,也不推荐你去访问,所以默认不给你访问,如果你setAccesible为true,那就是告诉系统,我知道它是私有的,我就是要访问它,OK,这时系统就给你访问了。 如果我的回答解决了你的问题,麻烦结一下贴,给点积分,谢谢^_^

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧