1. 程式人生 > >類的加載過程和對象的創建

類的加載過程和對象的創建

color 代碼 初始 程序 spa 變量 啟動 初始化 結束

類的加載過程:

  1、啟動JVM,加載程序中需要使用的class文件。

  2、在加載class文件的時候,所有的靜態內容(靜態成員變量,靜態成員函數,靜態代碼塊)都要加載到方法區的靜態區中。

  3、當類中的所有靜態加載完成之後,開始給類中的所有靜態成員變量默認初始化。

  4、類中的所有靜態成員變量默認初始化完成之後,開始給這些靜態成員變量顯示賦值。

  5、所有靜態成員變量顯示賦值結束之後,開始運行類中的靜態代碼塊。

  6、當所有的靜態代碼塊執行完成,代表當前這個class文件才徹底被加載結束。

對象的創建過程:

  1、使用new關鍵字創建對象,在堆給對象分配內存空間。

  2、給對象所屬類中的所有非靜態成員變量分配空間並進行默認的初始化。

  3、執行和new對象時傳遞參數一致的構造函數。

  4、執行構造函數的的過程中有隱式的三步:

    4.1、執行super() 語句,找父類的空參數構造函數

    4.2、給非靜態成員變量進行顯示賦值。

    4.3、運行構造代碼塊

    4.4、構造函數中的自己寫的代碼執行。

  5、構造函數執行完成,對象創建結束。

類的加載過程和對象的創建