java對象實例化過程 在java中類的初始化和對象的實例化有哪些區(qū)別,是先執(zhí)行哪一步?
在java中類的初始化和對象的實例化有哪些區(qū)別,是先執(zhí)行哪一步?Java規(guī)范規(guī)定,必須正確初始化對象才能使用,因此首先執(zhí)行類初始化,然后執(zhí)行對象實例化。如果有差異,則是初始化后的實例化。當Java虛擬
在java中類的初始化和對象的實例化有哪些區(qū)別,是先執(zhí)行哪一步?
Java規(guī)范規(guī)定,必須正確初始化對象才能使用,因此首先執(zhí)行類初始化,然后執(zhí)行對象實例化。如果有差異,則是初始化后的實例化。
當Java虛擬機開始工作時,它將首先加載所需的類,類加載器負責加載過程。加載過程分為五個階段:加載、驗證、準備、解析和初始化
初始化類后,我們可以得到對象的實例,例如,執(zhí)行到new當Person()步驟時,默認的初始值首先分配給成員變量,然后根據成員變量和非靜態(tài)塊的出現順序進行初始化。初始化所有成員變量并執(zhí)行非靜態(tài)塊后,調用構造方法來完成對象的創(chuàng)建,即對象的實例化。
希望我的回答能對你有所幫助
這個問題,爪哇老鳥應該知道
!運行:
等待新的、反射類、初始化子類等。開始初始化(為變量指定默認值等)!作為J實例化對象,等待使用
!在此過程中,對象引用、對象本身和靜態(tài)變量將放置在堆棧(虛擬堆棧、本地方法堆棧等)、堆、方法區(qū)域等上
!深入了解JVM這個寫的不錯,推薦看!可以說這些事情都是面試時必須問的!