class A{
static{ System.out.print("a"); } }class Static{ static{ System.out.print("b"); } public static void main(String args[]){ System.out.print("c"); A a = new A(); A aa = new A(); System.out.print("d"); } static { System.out.print("e"); }}/*打印的结果为becad.因为静态代码块是对类进行初始化的,在类的加载时就执行的。静态代码块只执行一次,所以在new A时,只输出了一个a.*/
class A{
{
System.out.println("a");
}
static{
System.out.println("b");
}
A{
System.out.println("c");
}
}
当new A时,打印的结果是b a c;执行的顺序是静态代码块->构造代码块->构造函数。