java中的new与newInstance区别

newInstance例子:                                                                                                                                                   

 /*String className="类名称";

 Class classXml=Class.forName(className);

DomXml dx=(DomXml) classXml.newInstance();

*/String className="DomXml";

Class classXml=Class.forName("DomXml");

DomXml dx=(DomXml) classXml.newInstance();


new例子:

        DomXml  dx=new DomXml();



在使用关键字new创建一个实例的时候,这个类可以没有被加载,但使用newInstance方法,必须要保证a、类被加载;b、类被连接。完成上面两个步骤的正是Class的静态方法forName完成。实际上newInstance把new这个步骤分解为两步,即首先调用Class加载方法加载某个类,然后实例化。
它们之间的区别 :
newInstance是弱类型,低效率,只能调用无参数构造;
new:强类型,相对高效,能调用任何public构造。 
             
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章