黑马程序员技术交流社区
标题:
反射中新建对象的问题
[打印本页]
作者:
黑马十八期0513
时间:
2013-1-17 13:14
标题:
反射中新建对象的问题
本帖最后由 姜伟 于 2013-1-18 11:09 编辑
Constructor con1 = String.class.getConstructor(StringBuffer.class);返回的构造方法是String(StringBuffer buffer)
可以通过(String)con1.newInstance(new StirngBuffer("abc"));来新建String对象。
Constructor con2 =String.class.getConstructor(byte[].class,int.class,int.class);返回的构造方法是String(byte [] bytes,int offset,int length)
请问这样的构造方法怎样通过反射在来新建对象?或者是无法通过反射来新建对象?
作者:
王少雷
时间:
2013-1-17 13:28
Constructor 提供关于类的单个构造方法的信息以及对它的访问权限。
Constructor 允许在将实参与带有底层构造方法的形参的 newInstance() 匹配时进行扩展转换
这个对象就是一个构造器。
如果楼主非要 看一下实现原理的话,你可以 下个反编译工具,把这个类,给编译成JAVA代码,自己研究一下。
作者:
刘军亭
时间:
2013-1-17 15:40
Constructor con2 =String.class.getConstructor(byte[].class,int.class,int.class);
对应的构造函数是String(byte [] bytes,int offset,int length)
第一句话就是得到Constructor 对象,既然得到了Constructor对象,那就找对象肯定有new对象的方法,con2就是你得到的对象,用对象con2.newInstance(相应的参数);就可以创建对象了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2