1. 程式人生 > >Java類初始化的時機

Java類初始化的時機

1.當虛擬機器啟動時,載入使用者指定的main方法所在的類。

2.當在main方法遇到了new關鍵字時,初始化new指令的目標類。

3.當遇到靜態方法呼叫時,初始化靜態方法所在的類。

4.當遇到靜態欄位呼叫時,初始化靜態方法所在的類。

5.子類的初始化時會先觸發父類的初始化。

6.使用反射呼叫某個類時,會初始化該類。

7.如果一個介面定義了default方法(jdk1.8新特性),那麼直接實現或者間接實現該介面的類的初始化,會觸發該介面的初始化。

 

測試:

執行class檔案時,可以通過JVM引數 -verbose:class 檢視類載入的先後順序。

測試第一條和第二條。

public class TestClassLoader{
	public static void main(String[] args){
		Demo1 demo1 = new Demo1();
	}
}

public class Demo1{
	
	
}