static代码块执行顺序

静态代码块在类第一次被载入时执行,在这里主要是想验证一下,类初始化的顺序。

父类静态变量

父类静态代码块

子类静态变量

子类静态代码块

父类普通变量

父类普通代码块

父类构造函数

子类普通变量

子类普通代码块

子类构造函数

class Father{
{
System.out.println("1.Father is");
}
static{
System.out.println("Father static");
}
{
System.out.println("2.Father");
}
public Father(){
System.out.println("Father Constructor");
}
{
System.out.println("Father3");
}
}

public class Son extends Father{
public static void main(String[] args){
System.out.println("Son main");
new Son();
}
static int age=20;
{
System.out.println("Son 1");
}
static{
System.out.println("Son static");
}
{
System.out.println("Son 2");
}
public Son(){
System.out.println("Son Constructor");
}
{
System.out.println("Son 3");
}

}
原文地址:https://www.cnblogs.com/woaiheniunai/p/13678659.html