java中new關鍵字和newInstance()方法有什麼區別?

來源:互聯網
上載者:User

標籤:

1.new可以調用帶參數的建構函式,newInstance不可以。

2.new 是 java 的關鍵字,用來構造一個類的執行個體。而 newInstance 是 Class 的一個方法,不過兩個寫法的效果一樣。

3.newInstance: 弱類型。低效率。只能調用無參構造。new: 強型別。相對高效。能調用任何public構造。

4.new是關鍵字,用來生產對象,可以調用類的公開任何構造方法而newInstance是反射時用的,只能調用無參數的構造方法,如果想調用有參數的構造方法,可以用Constructor的newInstance(Object... initargs) 方法。

備忘:在開源中國社區看到的一個比較形象生動的比喻:

new是自己下廚,做飯自己吃。newInstance是外面吃別人做給你吃。

自己做可以保證安全,而且可以有多個口味,什麼醬,放多少自己定。new對象不會因為找不到類而出異常,而且你還可以調用多個建構函式,按照自己口味去new對象,去做一份符合自己口味的。

在外面吃,可能會你點的菜那個店裡沒有,或者是口味不對,你要吃番茄醬,但是人家只有花生醬。而且菜沒洗乾淨你也不知道。newInstance也是如此,很可能你要的對象他不存在,或者是參數不對。

java中new關鍵字和newInstance()方法有什麼區別?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.