写了一段测试代码,如下:
public class ExecutionSequence extends fatherClass{
static{
System.out.println("子类静态代码块");
}
{
System.out.println("子类代码块");
}
public ExecutionSequence(){
System.out.println("子类构造器");
}
public static void main(String[] args) {
ExecutionSequence executionSequence = new ExecutionSequence();
}
}
class fatherClass{
public fatherClass(){
System.out.println("父类构造器");
}
{
System.out.println("父类代码块");
}
static{
System.out.println("父类静态代码块");
}
}
打印的结果为:
父类静态代码块
子类静态代码块
父类代码块
父类构造器
子类代码块
子类构造器
结论为:执行的顺序为 父类静态代码块->子类静态代码块->父类代码块->父类构造器->子类代码块->子类构造器