黑马程序员技术交流社区
标题:
反射不能初始化有参构造函数??请看题
[打印本页]
作者:
华谦
时间:
2014-8-22 16:45
标题:
反射不能初始化有参构造函数??请看题
/*
使用反射来创建对象,FanShe.Person是已经创建好的一个类,
里面有个构造函数就是String,int两个参数的
为什么会创建不了呢?提示:
- Constructor 是原始类型。应该将对通用类型 Constructor<T> 的引用参数化
- 类型安全:方法 getConstructor(Class...)属于原始类型 Class。应该将对通用类型 Class<T> 的引用
参数化
那为什么视频里的没有定义都可以呢?
*/
public static void getClassObject_3() throws Exception
{
String className = "FanShe.Person"; //类名必须要加包名,就算导包了也要加
Class clazz = Class.forName(className);
Constructor constructor = clazz.getConstructor(String.class,int.class);
Object object = constructor.newInstance("小明",25);
}
复制代码
作者:
天黑偷牛
时间:
2014-8-26 12:30
不能吗?回去研究研究
作者:
hejinzhong
时间:
2014-8-26 12:32
本帖最后由 hejinzhong 于 2014-8-26 12:46 编辑
int.class 这个改为Integer.class,他接受的参数不是基本数据类型的class,你可以去看看构造函数反射说明
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2