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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孙万利 中级黑马   /  2012-12-4 00:48  /  1542 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

目的:通过反射获得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 (16.79 KB, 下载次数: 62)

TT截图未命名.jpg

2 个回复

倒序浏览
Constructor constructor = Person.class.getConstructor(String.class,int.class);

改为String.class,Integer.class看看,需要指定包装类的字节码对象,而不是基本数据类型。
回复 使用道具 举报
还是不对,我看视频就是这样操作的呢; 再帮忙想想,大家
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马