黑马程序员技术交流社区
标题:
反射字段,帮忙看下
[打印本页]
作者:
糖伯貓
时间:
2014-2-10 12:55
标题:
反射字段,帮忙看下
class Cat{
private String name;
public int age;
private String color;
}
class test5{
public static void main(String[] args) throws Exception{
Class clazz = Cat.class;
Field field = clazz.getDeclaredField("name");
Cat c = (Cat)clazz.newInstance();
field.setAccessible(true);
field.set(c,"youxiang");
String name = (String)field.get(c);
System.out.println(name);
Field f = clazz.getField("age");
field.setInt(c,21);
int i = field.getInt(c);
System.out.println(i);
}
}
复制代码
第一个反射name没问题 第二个反射age报错 类型错误 我晕了...........
作者:
itpower
时间:
2014-2-10 13:25
Field f = clazz.getField("age");
field.setInt(c,21);
int i = field.getInt(c);
复制代码
名字错了,应该是f.steInt(c,21);
field是你上面那个name的字段,你要将21设置到name字段上,而name字段是String类型的,所以就报错了,
作者:
糖伯貓
时间:
2014-2-10 13:31
itpower 发表于 2014-2-10 13:25
名字错了,应该是f.steInt(c,21);
field是你上面那个name的字段,你要将21设置到name字段上,而name字段是 ...
太感谢了 我硬是没看出来
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2