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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马伍仪华 中级黑马   /  2012-3-4 17:23  /  1397 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

因为用null作为参数并用反射来构造对象时是调用的默认构造函数。但要反射的类中没有默认构造函数。而且这个一个参数的构造函数的参数类型是不确定的。所以我想用null来调用。但如何做到呢?

评分

参与人数 1技术分 +1 收起 理由
职业规划-刘倩老师 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
Class类里newInstance方法创建对象时,类里必须有无参的构造方法,如果没有定义任何构造方法系统默认加一个无参数的构造方法,如果显式地定义了一个带参数的方法,就必须再定义一个无参数的构造方法。否则Class类newInstance会出错。如果构造要调用有参数的的构造方法就是使用Constructor类的newInstance方法传递目标对象和参数类型,不知道参数类型可以使用获取到构造方法组成的Construtor[] 数组,遍历数组在每个对象上调用getParameterTypes() 就可以知道每个构造方法的参数类型。"所以我想用null来调用"有一个办法可以达到,你去改写源码吧
回复 使用道具 举报
{:soso_e113:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马