class B extends A{
static{
System.out.println("1");
}
public B(){
System.out.println("2");
}
}
class A{
static{
System.out.println("a");
}
public A(){
System.out.println("b");
}
static{
System.out.println("1");
}
public B(){
System.out.println("2");
}
}
class A{
static{
System.out.println("a");
}
public A(){
System.out.println("b");
}
}
public class Test1 {
public static void main(String[] args) {
A ab=new B();
ab=new B();
ab=new B();
}
}
a
1
b
2
b
2
b
2
静态块:用static申明,JVM加载类时执行,仅执行一次
构造块:类中直接用{}定义,每一次创建对象时执行
执行顺序优先级:静态块>main()>构造块>构造方法