Java virtual machine to load class, initialize the parent class static variable, then initialize the subclass static variables, and then load the parent class, and finally loaded subclass
public class Parent {
static{
System.out.println("static parent");
}
public Parent(){
System.out.println("parent loaded");
}
public void getaaa(){
System.out.println("parent aaa");
}
}
public class Child extends Parent{
public Child(){
System.out.println("child load");
}
public void getaaa(){
System.out.println("child aaa");
}
static{
System.out.println("static child");
}
public static void main(String[] args){
Child child = new Child();
child.getaaa();
}
}
Results:
static parent
static child
parent loaded
child load
child aaa