关于java中加载和初始化的疑问?各位帮忙分析下 谢谢大家了

http://ask.csdn.net/questions/254535

 public class Test20160509 {
    public static int k = 5;
    public static Test20160509 t1 = new Test20160509("t1");
    public static Test20160509 t2 = new Test20160509("t2");
    public static String s = "abcd";
    public static int i = print("i");
    public static int n = 99;

    public int j = print("j");

    {
        print("非静态构造块");
    }

    static {
        print("静态块");
    }

    public Test20160509(String str) {
        System.out.println((++k) + ":" + str + "   i=" + i + "    n=" + n + "   str=" + s + "  t1=" + t1 + "   t2=" + t2);
        ++i;
        ++n;
    }

    private static int print(String str) {
        System.out.println((++k) + ":" + str + "   i=" + i + "   n=" + n + "   str=" + s + "  t1=" + t1 + "   t2=" + t2);
        ++n;
        return ++i;
    }

    public static void main(String[] args) {
        Test20160509 t = new Test20160509("init");
        Test20160509 t2 = new Test20160509("init2");

    }

}

图片说明