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");
}
}