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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王卿 黑马帝   /  2011-7-21 19:03  /  1994 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我记得以前在视频中看过,给我个例子吧!现在找不到了!希望大家给找下吧!

2 个回复

倒序浏览
黑马网友  发表于 2011-7-21 19:27:15
沙发

回复 楼主 的帖子

Field fieldX = pt1.getClass().getDeclaredField("x");
        fieldX.setAccessible(true);
        System.out.println(fieldX.get(pt1));       
主要就是setAccessible(true);这句
你懂得
回复 使用道具 举报
黑马网友  发表于 2011-7-21 20:17:49
藤椅

关于暴力反射

[code]public class ReflectPoint{
        private int x;
        public int y;
       
        ......
       
        ReflectPoint pt1 = new RelectPoint(3,5);
        Field fieldY = pt1.getClass().getField("y");       
        //fieldY的值不是5,因为fieldY不是对象身上的变量,而是类上,必须要用它去取某个对象上对应的值
        System.out.println(fieldY.get(pt1));
        Field fieldX = pt1.getClass().getDeclaredField("x");
        fieldX.setAccessible(true);
        System.out.println(fieldX.get(pt1));       
        //张老师的比喻,看到钱,但是拿不到,就去抢!fieldX.setAccessible(true);这句赋予你抢的权利!
}[/code]
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马