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(可选)