classInitA{ publicInitA(String host){ System.out.println(host + ":A constructed."); } } classB{ publicB(String host){ System.out.println(host + ":B constructed."); } } classParent{ public InitA a = new InitA("Parent"); publicstatic B b = new B("Parent"); publicParent(){ System.out.println("Parent constructed."); } } classSonextendsParent{ publicstatic InitA a = new InitA("Son"); public B b = new B("Son"); publicSon(){ System.out.println("Son constructed."); } } publicclassInitialOrderTest{ publicstaticvoidmain(String[] args){ Son demo = new Son(); } }