1 classHelloa {2 3 PublicHelloa () {4System.out.println ("Helloa");5 }6 7{System.out.println ("I ' M A class"); }8 9 Static{System.out.println ("Static A"); }Ten One } A - Public classHellobextendsHelloa { - PublicHellob () { theSystem.out.println ("Hellob"); - } - -{System.out.println ("I ' M B class"); } + - Static{System.out.println ("Static B"); } + A Public Static voidMain (string[] args) { at -SYSTEM.OUT.PRINTLN ("-------Main start-------"); - NewHellob (); - NewHellob (); -SYSTEM.OUT.PRINTLN ("-------Main end-------"); - } in}
Microsoft Windows [version 6.2.9200]
(c) Microsoft Corporation. All rights reserved.
C:\users\xw>javac Hellob.java
C:\users\xw>java Hellob
Static A
Static B
-------Main start-------
I ' M A class
Helloa
I ' M B class
Hellob
I ' M A class
Helloa
I ' M B class
Hellob
-------Main end-------
About static code blocks in inheritance, building blocks of code, constructor execution order