1、构造器的调用顺序
(1)创建A类,B类继承A类:
A类:
public class A { static { System.out.println("A.static"); } public A(){ System.out.println("A"); } }
B类:
public class B extends A { static { System.out.println("B.static"); } public B(){ System.out.println("B"); } }
测试类:
public class TestAb { public static void main(String[] args) { A a=new B(); a=new B(); } }
A.static
B.static
A
B
A
B
(2)执行顺序:
先初始化静态成员,然后调用父类构造器,再初始化非静态成员,最后调用自身构造器。