直接上**:
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 ...