類的載入順序 一 編譯時常量與執行時常量

2022-08-23 10:33:12 字數 930 閱讀 7672

編譯時常量在編譯階段會寫死到.class中

而且會存入到 呼叫這個常量的方法所在的類的常量池中

如下**編譯後 刪除parents01.class 後依然可以正常執行

public class mytest01 	}

class parents01

}//out:parents01 const value

說明value被寫入了mytest01中

執行時常量:(編譯時不載入,類初始化時才載入)

public class mytest01 	}

class parents01

}//out:parents01 const value

另外 用子類呼叫父類的 static欄位 並不會初始化子類static域

具體**如下

public class mytest01 	}

class parents01

}class children01 extends parents01

}//~out:

this is parents01 static block

parents01 const value

將value修改為final 則 乙個static域都不執行。

static域在static欄位後初始化,父類先於子類初始化:

public class mytest01 	}

class parents01

}class children01 extends parents01

}class sub01

}//~out:

this is sub01

this is parents01 static block

this is children01 static block

Java類載入的執行順序

那一年,呼延十又回想起被載入順序支配的恐懼,筆試題上,好幾個類,幾個方法,幾個輸出語句,讓你按照順序寫出輸出.我真的是有一句 但是呢,我們還是有了解一下的必要的,在編碼過程中有許多的應用.經常用來比較順序的,無非就是靜態 塊,普通 塊,靜態方法和普通方法.這裡直接說一下結論 先靜態後普通最後構造方法...

類的載入和執行順序

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...

java中類的載入,及執行順序

類載入的順序 1 載入靜態成員 塊 靜態變數 靜態塊按書寫先後順序執行 先遞迴地載入父類的靜態成員 塊 object 的最先 再依次載入到本類的靜態成員。同乙個類裡的靜態成員 塊,按寫 的順序載入。如果其間呼叫靜態方法,則呼叫時會先執行靜態方法,再繼續載入。同乙個類裡呼叫靜態方法時,可以不理會寫 的...