欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java中實例化,初始化和創(chuàng)建對象有什么區(qū)別?

傅智翔2年前12瀏覽0評論

謝邀!!

一個Java對象的創(chuàng)建過程往往包括類初始化和類實例化兩個階段。

在Java中,對象被調(diào)用之前,必須要先進(jìn)行初始化。java虛擬機(jī),即JVM會檢查內(nèi)存中是否已經(jīng)加載并初始化。如果沒有初始化,jvm會立即加載并調(diào)用類構(gòu)造器完成該類的初始化操作。初始化完成時,再進(jìn)行初始化,也就是說,初始化時創(chuàng)建實例的前提。

除此之外,我們還可以使用反射機(jī)制(Class類的newInstance方法、使用Constructor類的newInstance方法)、使用Clone方法、使用反序列化等方式創(chuàng)建對象。

我們最常用的就是通過new關(guān)鍵字創(chuàng)建對象,即通過構(gòu)造函數(shù)創(chuàng)建對象。

例如:

Catcat=newCat();

  1. 當(dāng)使用了構(gòu)造函數(shù),并且new構(gòu)造函數(shù)(),那么就后臺執(zhí)行了newObject();

  2. 將構(gòu)造函數(shù)的作用域給新對象,(即newObject()創(chuàng)建出的對象),而函數(shù)體內(nèi)的this就代表newObject()出來的對象。

  3. 執(zhí)行構(gòu)造函數(shù)內(nèi)的代碼;

  4. 返回新對象(后臺直接返回)。

如有什么不對的地方,歡迎指正,謝謝!!!