以下程序的输出是:
superstatic block static blockn0 inmain super constructor constructor
这是代码:
class StaticSuper{
static {
System.out.println("superstatic block");
}
StaticSuper(){
System.out.println("super constructor");
}
}
public class StaticClassExample extends StaticSuper{
static int rand;
static {
rand =(int) (Math.random() * 6);
System.out.println("static blockn" + rand);
}
StaticClassExample(){
System.out.println("constructor");
}
public static void main(String[] args) {
System.out.println("inmain");
StaticClassExample st= new StaticClassExample();
}
}
为什么“inmain”虽然排在第一位,却排在第三位main()
?请解释我的意思:
static {
// some lines
}
在课堂里。