public class T2 {
int i =1;//2
int y =2;//3
{ i=4;
System.out.println(i);//4
}
static int m =3;//A;执行完后执行B
public static T2 t =new T2(){//B:1;类被加载时 先从这里开始 2-》3-》代码块->下一代码5块输出t=null应为函数new T2()还没返回
//跳过静态代码块6->7-8{构造函数最后执行}结束执行 C
//创建静态对象 t 对象创建时则跳过此表达式;
};
{
System.out.println(t);//5
}
static{
System.out.println(t);//6
}
public T2(){//C -》D{如果运行的是该类则执行D否则不执行D}//8
i = 2;
y = 2;
}
{
i=5;//7
}
public static void main(String[] args) {D:进入主函数
T2 lo = new T2();//进入 ://1,开始执行
System.out.println(lo.t);
}
}