黑马程序员技术交流社区
标题:
反射运行时创建未知对象。
[打印本页]
作者:
shdosh
时间:
2015-8-24 20:30
标题:
反射运行时创建未知对象。
张孝祥老师讲反射的代码里
InputStream ips = new FileInputStream("config.properties");
Properties props = new Properties();
props.load(ips);
ips.close();//如果不close(),ips对象关联的系统资源未被释放。对象被JVM垃圾回收。
String className = props.getProperty("className");
Collection collections2 = (Collection)Class.forName(className).newInstance();//调空参数构造函数
//编译时java编译器只检测语法,如果没有(Collection)的类型声明会出现类型不兼容的错误。
Collection collections = new ArrayList();
因为知道接收的类型的Collection的子类,所以可以用Collection collections2 = (Collection)Class.forName(className).newInstance();
如果不知道时,那么用什么来接收通过字节码创建的对象呢?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2