static+构造函数+属性+继承 执行顺序
//A.javapublic class A {public static void main(String[] args) { new C();}}class B{E e=new E();static{ System.out.println("b static");}B(){ System.out.println("b");}}class C extends B{D d=new D();static{ System.out.println("c static");}C(){ System.out.println("c");}}class D{D(){ System.out.println("d");}}class E{E(){ System.out.println("e");}}?执行结果:b static
c static
e
b
d
c
说明问题:
1. 先执行static,再执行父类的构造函数,再初始化属性,再执行子类的构造函数。