java代碼:無靜態方法;(對應字節碼沒有方法)
任何一個類,至少有一個構造器,默認是無參構造
java代碼包含:靜態方法
java代碼包含:靜態方法、顯示構造方法
public class ClassInitTest {public static int i = 1;private static int number = 10;static {System.out.println("statis:" + number);number = 20;}public static void main(String[] args) {System.out.println(i);System.out.println(number);}
}
java代碼包含多個類,存在父子關系
public class ClientTest1 {static class Father {public static int A = 1;static {A = 2;}}static class Son extends Father {public static int B = A;}public static void main(String[] args) {// 先加載Father類,再加載Son類// 1.先執行父類的靜態代碼塊和靜態變量初始化,靜態代碼塊和靜態變量的執行順序只跟代碼中出現的順序有關// 2.執行子類的靜態代碼塊和靜態變量初始化// 3.執行父類的實例變量初始化// 4.執行父類的構造函數// 5.執行子類的實例變量初始化// 6.執行子類的構造函數System.out.println(Son.B);//2}
}
工具:
idea插件:jclasslib
BytecodeViewer 2.8.1.jar
Binary Viewer(可選)