黑马程序员技术交流社区

标题: 反射的变量被设置成私有的怎么能得到该变量的值 [打印本页]

作者: 赵亚威    时间: 2013-3-12 19:47
标题: 反射的变量被设置成私有的怎么能得到该变量的值
本帖最后由 赵亚威 于 2013-3-12 22:26 编辑

例如:private int x;
怎样通过反射获取x的值
作者: 许鑫星    时间: 2013-3-12 20:05
  1. public class Test {
  2.         public static void main(String[] args) throws Exception {
  3.                 Class cls = Class.forName("Cls");
  4.                 //得到成员
  5.                 Field f = cls.getDeclaredField("x");
  6.                 //设置访问权限
  7.                 f.setAccessible(true);
  8.                 System.out.println(f.get(new Cls()));
  9.         }
  10. }
  11. class Cls{
  12.         private int x = 123;
  13. }
复制代码

作者: 陈丽莉    时间: 2013-3-12 21:57
一楼的答案,有不明白的继续追问~
如果解决了问题,请回复示意,并将帖子改成【已解决】~
作者: 赵亚威    时间: 2013-3-12 22:00
陈丽莉 发表于 2013-3-12 21:57
一楼的答案,有不明白的继续追问~
如果解决了问题,请回复示意,并将帖子改成【已解决】~ ...

嗯 确实可以了 调通了
作者: 陈丽莉    时间: 2013-3-12 22:11
赵亚威 发表于 2013-3-12 22:00
嗯 确实可以了 调通了

这样的话,就尽快将帖子的分类改成【已解决】吧~

论坛发言的小技巧(已解决、上传图片、附件,回复可见...




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2