Dear Friends
Read this Code ..This is Question from jtips Mock exams
class
Test {
Test() {
System.out.println("Super");
}
static {
System.out.println("Superclass - Static Initializer");
}
}
public class MQ1 extends java.lang.Object {
public static void main(
String [] args)
{
MQ1 test = new MQ1("Java");
System.out.println("In Main method");
}
static {
System.out.println("Subclass - Static Initializer");
}
MQ1(String s) {
System.out.println(s);
}
}
Ans is
Subclass - Static Initializer
Java In Main method
how??? becouse static block initialize when class is loaded static method or static block or static variable not a member variable of any class so they should execute according to their order .......
according to me answer should be
Superclass - Static Initializer
Subclass - Static Initializer
Java
In Main method
Can any one explaine me why this is not true......
Thnx in advance