1. 程式人生 > >Java資料初始化順序

Java資料初始化順序

在這裡有必要總結一下物件的建立過程。請考慮一個名為Dog 的類:
(1) 型別為Dog 的一個物件首次建立時,或者Dog 類的static 方法/static 欄位首次訪問時,Java 直譯器必須找到Dog.class(在事先設好的類路徑裡搜尋)。
(2) 找到Dog.class 後(它會建立一個Class 物件,這將在後面學到),它的所有static 初始化模組都會執行。因此,static 初始化僅發生一次——在Class 物件首次載入的時候。
(3) 建立一個new Dog()時,Dog 物件的構建程序首先會在記憶體堆(Heap)裡為一個Dog 物件分配足夠多的儲存空間。
(4) 這種儲存空間會清為零,將Dog 中的所有基本型別設為它們的預設值(零用於數字,以及boolean 和char 的等價設定)。
(5) 進行欄位定義時發生的所有初始化都會執行。
(6) 執行構建器。