静态代码块
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;执行的顺序是静态代码块->构造代码块->构造函数。