结论:
父类静态代码块>子类静态代码块>父类代码块>父类构造方法>子类代码块>子类构造方法
测试如下:
public class TestUtils {
public static void main(String[] args) {
new TestChild();
}
}
//父类
class Test {
//构造方法
public Test() {
System.out.println("这个是父类构造方法!");
}
//代码块
{
System.out.println("这个是父类代码块!");
}
//静态代码块
static {
System.out.println("这个是父类静态代码块!");
}
}
//子类
class TestChild extends Test{
//构造方法
public TestChild(){
System.out.println("这是子类构造方法");
}
//代码块
{
System.out.println("这是子类代码块");
}
//静态代码块
static {
System.out.println("这个是子类静态代码块!");
}
}
运行结果