黑马程序员技术交流社区

标题: 这两句代码有什么不同? [打印本页]

作者: 李前进    时间: 2014-3-28 17:52
标题: 这两句代码有什么不同?
Constructor[] constructor = Class.forName("java.lang.String").getConstructors();


Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class);

作者: heheka123    时间: 2014-3-28 17:53
这是对象数组?
作者: 霍振鹏    时间: 2014-3-28 18:16
第一行得到的是String类中的所有的构造函数,第二行的到的之是一个构造函数(这个构造函数接收的是一个StringBuffer对象)
作者: 龙健    时间: 2014-3-28 18:21
第一句的意思是:
得到"java.lang.String"里面的所有的构造函数,返回的是一个Constructor数组,所有的String类构造对象那个将会被存储在这个数组里面
第二句的意思:
得到“java.lang.String”里面的构造函数,但是得到的是指定参数的构造函数,在这里参数类型为 StringBuffer
求技术分、、、、、
作者: 李前进    时间: 2014-3-28 18:23
龙健 发表于 2014-3-28 18:21
第一句的意思是:
得到"java.lang.String"里面的所有的构造函数,返回的是一个Constructor数组,所有的Stri ...

讲得很好,明白了。额。。。怎么给你技术分啊?{:3_62:}
作者: 李前进    时间: 2014-3-30 15:33
1,得到某个类所有的构造方法:

Constructor[] constructor = Class.forName("java.lang.String").getConstructors();

2,得到某一个构造方法:

Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class);

3,创建实例对象:

通常方式:String str = new String(new StringBuffer("abc"));

反射方式:String str = (String)constuctor.newInstance(new StringBuffer("abc"));





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