class ali
private static int n = 99;
public ali(string s)
private static int print(string s)
public static void main(string args)
}1:構造塊 i:0 n:0
2:t1 i:1 n:1
3:構造塊 i:1 n:1
4:t2 i:2 n:2
5:i i:2 n:2
6:靜態塊 i:3 n:3
7:構造塊 i:4 n:99
8:init i:5 n:100
1) 先裝載cat.class 到記憶體中
2) 靜態成員初始化(靜態**塊或靜態屬性) (只初始化一次)
3) 普通成員預設初始化,構造塊執行(它們兩個是平級的)
4) 建構函式執行
5) 在堆上開闢記憶體空間,然後把棧上的引用指向堆
cat c;這個不會引起類中成員初始化
java中類的載入和執行順序
類載入的原則 延遲載入,能不載入就不載入。類載入的順序 1.載入靜態成員 靜態 塊 只執行一次 先遞迴載入父類的靜態成員 靜態 塊,再依次載入到本類的靜態成功 靜態 塊。同乙個類內的靜態成員 靜態 塊,按寫的 先後順序載入 如果其間呼叫了靜態方法,則呼叫時會先執行該靜態方法,再繼續載入,同個類的靜 ...
Java類載入的執行順序
那一年,呼延十又回想起被載入順序支配的恐懼,筆試題上,好幾個類,幾個方法,幾個輸出語句,讓你按照順序寫出輸出.我真的是有一句 但是呢,我們還是有了解一下的必要的,在編碼過程中有許多的應用.經常用來比較順序的,無非就是靜態 塊,普通 塊,靜態方法和普通方法.這裡直接說一下結論 先靜態後普通最後構造方法...
Java類載入執行順序
簡要記錄類的載入執行順序 先說結論 父類靜態 塊 變數 子類靜態 塊 變數 父類普通 變數 塊 父類構造器 子類普通 變數 塊 子類構造器 具體執行過程 程式先找到main函式,不管此時有沒有使用new進行建立物件,都會將涉及到的類 例如父類 進行類載入 發現son類有乙個父類father類 初始化...