初始化块:

    分类:

        1、静态初始化块

        2、非静态初始化块

    语法:

        [修饰符]{

            初始化块逻辑

        }

    例子:

        父类

public class Block {

	static {
		System.out.println("父类静态初始化块...");

	}

	{
		System.out.println("父类非静态初始化块...");

	}
	
	public Block(){
		System.out.println("构造器...");
	}

}

      子类

public class BlockSon extends Block {

	static {
		System.out.println("子类静态初始化块...");

	}

	{
		System.out.println("子类非静态初始化块...");

	}

	public BlockSon() {
		System.out.println("子类构造器...");
	}
	
}

     测试类

public class Client {

	public static void main(String[] args) {
		BlockSon bs = new BlockSon();
		System.out.println(bs.hashCode());
	}
}

    结果

Java学习之初始化块_学习

    结论:执行顺序如图。