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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 华谦 中级黑马   /  2014-8-22 16:45  /  1028 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /*
  2. 使用反射来创建对象,FanShe.Person是已经创建好的一个类,
  3. 里面有个构造函数就是String,int两个参数的
  4. 为什么会创建不了呢?提示:
  5.         - Constructor 是原始类型。应该将对通用类型 Constructor<T> 的引用参数化
  6.         - 类型安全:方法 getConstructor(Class...)属于原始类型 Class。应该将对通用类型 Class<T> 的引用
  7.          参数化

  8.          那为什么视频里的没有定义都可以呢?
  9. */
  10. public static void getClassObject_3() throws Exception
  11.         {
  12.                 String className = "FanShe.Person";                //类名必须要加包名,就算导包了也要加
  13.                 Class clazz = Class.forName(className);
  14.                
  15.                 Constructor constructor = clazz.getConstructor(String.class,int.class);
  16.                
  17.                 Object object = constructor.newInstance("小明",25);
  18.         }
复制代码


2 个回复

倒序浏览
不能吗?回去研究研究
回复 使用道具 举报
本帖最后由 hejinzhong 于 2014-8-26 12:46 编辑

int.class 这个改为Integer.class,他接受的参数不是基本数据类型的class,你可以去看看构造函数反射说明
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马