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構造。 
             
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章