黑马程序员技术交流社区

标题: Class实例调用newInstance的问题? [打印本页]

作者: 罗全涛    时间: 2012-1-5 09:55
标题: Class实例调用newInstance的问题?
本帖最后由 罗全涛 于 2012-1-5 10:27 编辑

Class实例调用newInstance()可以获得一个类的实例,那为什么又要
定义获取构造函数的方法,再用构造函数newInstance来获取实例?
作者: 罗利民    时间: 2012-1-5 10:11
newInstance 是一个工厂方法,内部可能有一些特殊处理,比如单例。
不是每个类都提供了对应的 newInstance 的
你这个问题可以引申为newInstance()和new的区别,相见:http://www.examw.com/java/jichu/152799/
作者: 韩金蕊    时间: 2012-1-5 10:24
Class.newInstance调用的而是类的不带参数的构造方法
而new 可以用类的其它构造方法。
作者: 罗全涛    时间: 2012-1-5 10:26
韩金蕊 发表于 2012-1-5 10:24
Class.newInstance调用的而是类的不带参数的构造方法
而new 可以用类的其它构造方法。 ...

恩,谢谢了。弄懂了
作者: 詹英鹏    时间: 2012-1-5 10:27
newInstance()方法使用类加载机制,new关键创建一个新类
它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类
比如来说类内部可能有各种机制,不能直接new。使用newInstance()方法来创建对象时
就必须保证这个类已经加载
另外,new和newInstance()二者的效率,和忢c无参数构造函数等方面也不一样




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