程序如下,此程序的加载顺序如注释所示:
class StaticSuper{
static {
System.out.println("super static block!");//1
}
StaticSuper(){
System.out.println("Super constructor!");//4
}
}
public class StaticTests extends StaticSuper{
static int rand;
static {
rand = (int) (Math.random()*6);
System.out.println("static blocks "+rand);//2
}
StaticTests(){
System.out.println("constructor");//5
}
public static void main(String[] args){
System.out.println("int main");//3
StaticTests test = new StaticTests();
}
}
程序输出: