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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 天凌蓝 于 2014-3-11 14:48 编辑

求救!!!JDK1.7暴力反射好像有问题,求各位大神解答
  1. ReflectPoint pt1=new ReflectPoint(3,5);
  2.                 Field fieldY=pt1.getClass().getField("y");
  3.                 //fieldY的值是多少?是5,错!fieldY不是对象上的变量,而是类上的,要用它去取某个对象上对应的值。
  4.                
  5.                 System.out.println(fieldY.get(pt1));
  6.                
  7.                 Field fieldX=pt1.getClass().getDeclaredField("X");
  8.                 fieldX.setAccessible(true);//设置可以访问,暴力反射。
  9.                 System.out.println(fieldX.get(pt1));
复制代码
  1. package cn.itcast.day1;

  2. public class ReflectPoint {
  3.         
  4.                 private int x;               
  5.                 public int y;
  6.                
  7.                 public ReflectPoint(int x, int y) {
  8.                         super();
  9.                         this.x = x;
  10.                         this.y = y;
  11.                 }


  12. }
复制代码

在eclipse中运行后还会异常


暴力反射.png (48.91 KB, 下载次数: 19)

运行后的异常

运行后的异常

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

2 个回复

倒序浏览
貌似你的对象没有get和set方法...
回复 使用道具 举报
zengming13 发表于 2014-3-11 14:44
java区分大小写,你这是大写的X好吧

确实是我太粗心了,写成大写的X,谢谢你帮我找出:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马