黑马程序员技术交流社区
标题:
求大家查下错误
[打印本页]
作者:
谢威
时间:
2013-7-3 12:28
标题:
求大家查下错误
本帖最后由 谢威 于 2013-7-3 16:57 编辑
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
public class SetProperty{
public static void setProperty(Object obj, String propertyName, Object value) throws Exception{
PropertyDescriptor pd = new PropertyDescriptor(propertyName,Object.class);
Method methodSetX = pd.getWriteMethod();
methodSetX.invoke(obj, value);
}
public static void main(String[] args)throws Exception {
ReflectPoint rf = new ReflectPoint(3,5);//ReflectPoint类见下边
setProperty(rf,"x",7);
System.out.println(rf.getX());
}
}
public class ReflectPoint {
private int x;
public int y;
public ReflectPoint(int x, int y) {//构造方法
super();
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
}
运行之后提示:
Exception in thread "main" java.beans.IntrospectionException: Method not found: isX
at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:89)
at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:53)
at practice.five.SetProperty.setProperty(SetProperty.java:10)
at practice.five.SetProperty.main(SetProperty.java:20)
求高手告诉我哪错了,谢谢!
作者:
j816326
时间:
2013-7-3 12:38
一个class文件中最好只有一个类,如果有多个类 只能有一个是public的修饰 。
public ReflectPoint(int x, int y) {//构造方法
super();//这里调用父类的构造,是Object类的 无法给成员初始化 你注释一下 试试看
this.x = x;
this.y = y;
}
作者:
肥猫
时间:
2013-7-3 14:00
大哥,你一个文件一堆的public class...
作者:
oxf974025918
时间:
2013-7-3 14:20
把 PropertyDescriptor pd = new PropertyDescriptor(propertyName,Object.class);改为 PropertyDescriptor pd = new PropertyDescriptor(propertyName,obj.getClass());
Object.class
,obj.getClass()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2