黑马程序员技术交流社区

标题: 利用反射获取构造函数问题 [打印本页]

作者: xclyijin    时间: 2015-7-22 16:00
标题: 利用反射获取构造函数问题
本帖最后由 xclyijin 于 2015-7-24 18:37 编辑

利用反射机制获取带参构造函数时,代码如下:红色当中的int.class和String.class是什么意思?为什么不是int和string?int表示的person类中的年龄,string表示的是person类中的姓名。
public static void createNewObject_2() throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException, ClassNotFoundException
{
  String name="itheima.Person";
  Class clazz=Class.forName(name);
  
  Constructor  constructor=clazz.getConstructor(int.class,String.class);
  Person p=(Person)constructor.newInstance(38,"xiaoming");
}


作者: a12366456    时间: 2015-7-22 16:21
试着回答:getConstructor()方法通过参数列表的不同匹配你想反射哪个构造函数,需要知道每一个参数的类型,而这个类型是由对应字节码文件区分的,因为同一个类型的数据(对象)是由同一个字节码文件(.class文件)生成的
作者: 王文辉    时间: 2015-7-22 16:28
a12366456 发表于 2015-7-22 16:21
试着回答:getConstructor()方法通过参数列表的不同匹配你想反射哪个构造函数,需要知道每一个参数的类型 ...

赞一个,之前也没搞明白这个方法




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