class StaticCode
{
int num = 9; /* 这变量什么时候加载???也是跟着类加载吗??? */
StaticCode()
{
System.out.println("b");
}
static
{
System.out.println("a"); /*静态代码块*/
}
{
System.out.println("c" + this.num); /*构造代码块*/
}
StaticCode(int x)
{
System.out.println("d");
}
public static void show()
{
System.out.println("show run");
}
}
public class StaticCodeDemo
{
public static void main(String[] args)
{
new StaticCode(4);/* 加载类--> a c9 -->调用构造函数 d */
/* 老师说的是 a c d 没有9,int num = 9 什么时候加载??? */
}
}
/*
老师说的结果: a c d
Eclipse控制台输出结果: a c9 d
debug: a c9 d
凌乱了...int num = 9 到底加载与否??? 构造代码块和静态代码块 哪个优先执行呢>? 是按顺序吗?