黑马程序员技术交流社区

标题: 关于Field类的一个问题。求帮助。解决了就该睡觉。<已解决> [打印本页]

作者: 黑马-王建雨    时间: 2012-5-10 00:56
标题: 关于Field类的一个问题。求帮助。解决了就该睡觉。<已解决>
本帖最后由 啷个里个郞 于 2012-5-10 22:22 编辑

public class Staticimport {
       
        public static void main(String[] args) {
                 ReflectPoint rp = new ReflectPoint(6);
                 
                 
                Field fd = rp.getClass().getField("x");
                 
                 System.out.println(fd);为什么输出的不是6?怎么回事?
                 
         }


}
作者: 黑马-王建雨    时间: 2012-5-10 01:29
谁还没睡?求帮助
作者: 张小锋    时间: 2012-5-10 07:21
       Field fd = rp.getClass().getField("x");   
//此处得到的是ReflectPoint 字节码中名字为X的那个变量,并不表示变量的值        
        System.out.println(fd);//此处输出的就是是那个名字为X的变量
如果要得到X变量的值这样就可以:
System.out.println(fd.get(rp));//表示得到X变量在rp这个对象上的值
作者: 谭景宾    时间: 2012-5-10 09:37
Field fd = rp.getClass().getField("x") //这里获得的是rp类字节码的指定getField("x") 参数对应的变量名,包括变量名类似 修饰符。-->public int ReflectPoint.x

int i = (Integer)fd.get(rp);  //要获得指定参数对应变量名的值,要使用get指定参数在哪个对象上获得x的值




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