1.类到加载与初始化
2.根据上图,以下3种写法由于顺序到原因会出现3种不同到结果。
2.1
public class ClassLoader {
public static void main(String[] args) {
System.out.println(T.count);
}
class T
{
public static int count=2;//0
public static T t=new T();//null
private T()
{
count++;
}
}
}
输出为:2
2.2
public static void main(String[] args) {
System.out.println(T.count);
}
class T
{
public static T t=new T();
public static int count=2;//
private T()
{
count++;
}
}
输出为:3
2.3
public static void main(String[] args) {
// System.out.println(T.count);
}
class T
{
public static T t=new T();
public static int count=2;//
private T()
{
count++;
System.out.println(T.count);
}
}
输出为:1