黑马程序员技术交流社区
标题:
反射
[打印本页]
作者:
程序爱好者
时间:
2014-5-4 17:15
标题:
反射
本帖最后由 程序爱好者 于 2014-5-5 17:13 编辑
创建实例对象:
反射方式:String str=(String)constructor.newInstance(new StringBuffter(“abc”)); //这句怎么理解
Class.newInstance()方法:
例子:String obj=(String)Class.forName(“java.lang.String”).newInstance();//这句又怎么理解
看了张孝祥的视频中提到这两句 不懂怎么理解
作者:
ehuashao
时间:
2014-5-4 19:38
String str=(String)constructor.newInstance(new StringBuffter(“abc”));
复制代码
这句代码是通过反射方式调用String类一个有参的构造函数来创建一个String对象。相当于调用String的这个构造函数。
public String(StringBuffer sb){
XXXXXX
}
复制代码
String obj=(String)Class.forName(“java.lang.String”).newInstance();
复制代码
Class.forName(“java.lang.String”)这句得到String的一份类字节,再通过调用.newInstance()来反射得到一个String对象,注意调用.newInstance()时,没有参数,则相当于调用了String类的这个构造函数。
public String(){
XXXXXX
}
复制代码
你所写的两句代码创建出来的String对象是不一样的。
作者:
邵景伦
时间:
2014-5-5 15:21
创建实例对象:
反射方式:String str=(String)constructor.newInstance(new StringBuffter(“abc”)); //这句怎么理解
通过String类的带字符串参数的构造函数创建带参数的String对象,相当于在反射中调用带字符串参数的构造函数
例子:String obj=(String)Class.forName(“java.lang.String”).newInstance();//这句又怎么理解
通过类名获取字节码文件,调用空参构造函数创建String对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2