java中的new與newInstance區別

2021-08-27 07:02:08 字數 580 閱讀 3605

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構造。

JAVA繼承與new 的區別

開發過程中會有很多時候需要用到繼承,實現不一樣的功能,如果用new每個類實現的功能都是一樣的。new 父親有一套房子,我也有一套房子,但如果new 的話我只能使用繼承自父親的房子,而不能夠使用自己的房子。繼承 如果想用父親的房子,可以通過繼承來呼叫父類方法獲得房子,如果想用自己的房子則可以重寫父類方...

Java中new和newInstance的區別

1 類的載入方式不同 在執行class.forname a.class.name 時,jvm會在classapth中去找對應的類並載入,這時jvm會執行該類的靜態 段。在使用newinstance 方法的時候,必須保證這個類已經載入並且已經連線了,而這可以通過class的靜態方法forname 來完...

Java中new出來的算是物件嗎?

如題,一直有個問題困惑著我,基本型別中我們可以這樣定義物件 以int為例 int a 而引用型別卻是只能new出來的,比如這樣的 human xiaoming new human 問題來了,這裡的xiaoming算是物件嗎?如果說不是,那不是說好的萬物皆物件該怎麼解釋,它不是human類的乙個例項嗎...