In general , when there are more than one static blocks define, the order of execution depends upon the order in which they defined, i.e , the first defined blocks execute then second block in order of declaration ..
So i thought when you are loading class B, its executes it parent class (A) , static block first then its derived class (B)..
See the
JLS for details .
I may be wring i n explaining somewhere, So any fellow ranchers , please correct me .