黑马程序员技术交流社区

标题: 关于反射的疑问 [打印本页]

作者: 芦曦    时间: 2012-9-25 17:31
标题: 关于反射的疑问
本帖最后由 芦曦 于 2012-9-25 22:23 编辑

Constructor [] constructors = Class.forName("java.lang.String").getConstructors();
Constructor constructors = Class.forName("java.lang.String").getConstructors(StringBuffer.class);
这2句话分别是什么意思???应该怎么去用?
作者: 彭润生    时间: 2012-9-25 17:34
Constructor [] constructors = Class.forName("java.lang.String").getConstructors();//这句是获取类所有的构造方法。
Constructor constructors = Class.forName("java.lang.String").getConstructors(StringBuffer.class);//这个是获取类的某一个指定参数类型的构造方法
只有获取了构造方法之后,才能获取对象的实例。

作者: 燃烧端午    时间: 2012-9-25 18:10
Constructor [] constructors = Class.forName("java.lang.String").getConstructors();
得到某个类所有的构造方法,返回一个包含某些 Constructor 对象的数组,这些对象反映此 Class 对象所表示的类的所有公共构造方法。

Constructor constructors = Class.forName("java.lang.String").getConstructors(StringBuffer.class);
这句应该是这个吧?
Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class);
得到某一个构造方法,返回一个 Constructor 对象,它反映此 Class 对象所表示的类的指定公共构造方法。
作者: 罗磊    时间: 2012-9-25 18:38
Constructor [] constructors = Class.forName("java.lang.String").getConstructors();//这个能得到一个你所要解剖的类的所有构造方法,然后用数组接收
                                                                                                                  //可以用遍历的方式得到每个构造器
Constructor constructors = Class.forName("java.lang.String").getConstructors(StringBuffer.class);//用这个方式是获得你指定解剖的类的带有StringBuffer参数的构造器  这样你就可以创建该构造函数对应的对象啦!






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