1、Constructor类代表某个类中的一个构造方法
2、得到某个类中所有的构造方法
例子:Constructor [ ] constructors=Class.forName("java.lang.String").getConstructors( ).
****构造方法是无序的
3、得到某一个构造方法
例子:Constructor constructor=Class.forName("java.lang.String").getConstructor(StringBuffer.class ).
****()里放的是构造方法的参数的字节码
注意:一个类有好多的构造方法,唯一不同的是构造方法的参数不同。
String( ):String( StringBuffer sb).....
获得方法时,要用到类型
4、创建实例对象:
1)通常方式:String str=new String(new StringBuffer("abc"));
2)反射方式:String str2=(String)constructor.newInstance(new StringBuffer("abc"));
******调用获得的方法时要用到上面相同类型的实例对象。
5、Class.newInstance( )方法(无参数的构造方法)
例子:String obj=(String)Calss.forName("java.lang.String").newInstance( ).
该方法内部先得到默认的构造方法,然后用该构造方法创建实例对象。
该方法内部的具体代码是怎么样写的?
用到了缓存机制来保存默认的构造方法的实例对象。
|
|