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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马伍仪华 中级黑马   /  2012-3-17 21:35  /  2390 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

package 入学测试;
import java.beans.PropertyDescriptor;
import java.lang.reflect.*;

public class num4 {
        public static void main(String[]args)throws Exception{
                //结合泛型,使程序更安全
        Constructor<person> ct=person.class.getConstructor(String.class,int.class);
        person p=ct.newInstance("伍仪华",20);
       
        String value="毕老师";

        Method setName=p.getClass().getMethod("setName", String.class);
        setName.invoke(p, value);

        System.out.println(p.getName());
       
        }

}
  class person1 {
        private String Name;
        private int Age;
public String getName() {
                return Name;
        }
        public void setName(String name) {
                Name = name;
        }
        public int getAge() {
                return Age;
        }
        public void setAge(int age) {
                Age = age;
        }
public person1(String name, int Age){
        this.Name=Name;
        this.Age=Age;
}
}

错在哪?求解释

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

4 个回复

倒序浏览
报错说这行错了,但是不知道为什么
Exception in thread "main" java.lang.NoSuchMethodException: 入学测试.person.<init>(java.lang.String, int)错误信息
回复 使用道具 举报
Constructor<person> ct=person.class.getConstructor(String.class,int.class);
        person p=ct.newInstance("伍仪华",20);这两句话错了  你定义的是person1类,而你写的是person

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
person.class.getConstructor(String.class,int.class);返回的是person类的构造器 可你没有Person类,只有Person1 另:类名首字母要大写。
回复 使用道具 举报
类person名字没对应  你试下Field强制来改下name 而不通过Method
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马