黑马程序员技术交流社区

标题: 大侠们JavaBean反射问题,谁解决下 [打印本页]

作者: 孙万利    时间: 2012-12-4 10:32
标题: 大侠们JavaBean反射问题,谁解决下
目的:通过反射获得Person类得构造函数,进而获得一个Person的实例

不过下面代码报出了错误 ;请指点迷津

package com.itheima;
import java.lang.reflect.*;
class Person
{
private String name;
private int age;

Person(String name,int age)
{
  this.name = name;
  this.age = age;
}

public String getName() {
  return name;
}
public void setName(String name) {
  this.name = name;
}
public int getAge() {
  return age;
}
public void setAge(int age) {
  this.age = age;
}

}
public class PersonDemo {

public static void main(String[] args) throws Exception {
  
  
  Constructor constructor = Person.class.getConstructor(String.class,int.class);
  
  Person person = (Person)constructor.newInstance(new Person("zhangsan",25));
  
  System.out.println(person.getName()+":"+person.getAge());
}
}

TT截图未命名.jpg (18.87 KB, 下载次数: 33)

TT截图未命名.jpg

作者: 奚华    时间: 2012-12-4 10:41
Person person = (Person)constructor.newInstance(new Person("zhangsan",25));这里你还用什么new Person!!!!
作者: ljhheima    时间: 2012-12-4 11:15
两个问题:
1.getConstructor只能返回public函数,你需要将构造函数改为public。
2..newInstance传入参数错误。
Person person = (Person)constructor.newInstance("zhangsan",25);
作者: 孙万利    时间: 2012-12-4 11:43
谢谢大家,问题解决了; 拜谢了;
长进了




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