非静态语句块 静态语句块和构造函数的执行顺序

class A{
	A(){
		System.out.println("in A destructor");
	}
	{
		System.out.println("in A non-static area");
	}
	static{
		System.out.println("in A static area");
	}
}

class B extends A{
	B(){
		System.out.println("in B destructor");
	}
	{
		System.out.println("in B non-static area");
	}
	static{
		System.out.println("in B static area");
	}
}

public class Test{
	public static void main(String[] args){
		new B();
	}
}

输出:
in A static area
in B static area
in A non-static area
in A destructor
in B non-static area
in B destructor

你可能感兴趣的:(java)