物件的建立過程

2021-08-29 09:47:39 字數 1207 閱讀 3639

直接上**:

public class sup 

public sup()

static

}

package com.test.resources;

public class sub extends sup

public sub()

static

}

public class test 

}

---父類靜態**塊(在父類的無參構造上面)---

---父類靜態**塊(在父類的無參構造下面)---

---子類靜態**塊(在子類的無參構造上面)---

---子類靜態**塊(在父類的無參構造下面)---

---父類動態**塊(在父類的無參構造上面)---

---父類動態**塊(在父類的無參構造下面)---

---父類無參構造---

---子類動態**塊(在子類的無參構造上面)---

---子類動態**塊(在子類的無參構造下面)---

---子類無參構造---

public static void main(string args)
---父類靜態**塊(在父類的無參構造上面)---

---父類靜態**塊(在父類的無參構造下面)---

---子類靜態**塊(在子類的無參構造上面)---

---子類靜態**塊(在父類的無參構造下面)---

---父類動態**塊(在父類的無參構造上面)---

---父類動態**塊(在父類的無參構造下面)---

---父類無參構造---

---子類動態**塊(在子類的無參構造上面)---

---子類動態**塊(在子類的無參構造下面)---

---子類無參構造---

建立第二個物件,模擬程式中已建立過物件

---父類動態**塊(在父類的無參構造上面)---

---父類動態**塊(在父類的無參構造下面)---

---父類無參構造---

---子類動態**塊(在子類的無參構造上面)---

---子類動態**塊(在子類的無參構造下面)---

---子類無參構造---

物件的建立過程

jvm查詢類的路徑,定位到.class檔案 載入.class檔案,有關靜態初始化的所有動作都會被執行 靜態初始化只在物件首次載入的時候進行一次 當用new建立物件的時候,在堆上為物件分配足夠的空間 儲存空間將會被初始化,自動為物件的所有基本資料型別設定成預設值,引用被置為null 執行所有出現於字段...

物件建立過程

過程一共有五步 類載入檢查 分配記憶體 初始化零值 設定物件頭 執行init 類載入檢查 檢查該物件所代表的的類是否已經被載入 解析和初始化過,沒有的話先執行類的載入過程 分配記憶體 在通過第一之後虛擬機器為物件分配記憶體。物件經過類載入之後大小就基本確定了,分配空間就是在堆中劃出一塊大小確定的記憶...

建立物件的過程(臨時物件)

class cgoods cgoods cgoods float price cgoods const cgoods rhs const 1.防止實參被修改 2.接收隱式生成的臨時量 下面對執行結果分析 cgoods good1 good1 1,1.1 呼叫帶三個引數的建構函式 堆區 cgoods ...