java類的建立過程

bogeWang發表於2018-06-10

假設有個類名為dog的類;

  1. 即使沒有顯示的使用static關鍵字,構造器實際上是一個靜態的方法;首次建立Dog物件時,或者靜態方法或者靜態域首次被訪問時,java直譯器必須查詢類路徑,定位Dog.class檔案;
  2. 然後載入,Dog.class,有關靜態初始化的所有動作都會執行;因此,靜態初始化只在class對應首次載入的時候進行一次;
  3. 當用new Dog()建立物件時.首次將子啊堆上為Dog物件分配儲存空間;
  4. 這塊儲存空間會被清零,這就自動將Dog物件中的所有基本型別都設定成預設值(數字型別,布林型別,字元型都是0), 引用型別設定為null;
  5. 執行所有出現於欄位定義處的初始化動作;
  6. 執行構造器;

相關文章