謝邀!!
一個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();
當(dāng)使用了構(gòu)造函數(shù),并且new構(gòu)造函數(shù)(),那么就后臺執(zhí)行了newObject();
將構(gòu)造函數(shù)的作用域給新對象,(即newObject()創(chuàng)建出的對象),而函數(shù)體內(nèi)的this就代表newObject()出來的對象。
執(zhí)行構(gòu)造函數(shù)內(nèi)的代碼;
返回新對象(后臺直接返回)。
如有什么不對的地方,歡迎指正,謝謝!!!