本帖最后由 阳春烟景 于 2014-3-29 11:57 编辑
public class Test1 {
public static int k = 0; //定义一个静态成员变量k,并初如化
public static Test1 t1 = new Test1("t1"); //定义一个静态方法t1
public static Test1 t2 = new Test1("t2"); //定义一个静态方法t2
public static int i = print("i"); //这句话只是打印1,2,3,4...
public static int n = 99; // 定义一个静态成员变量n,并初如化
public int j = print("j");//这里调用了下面的print函数,传进去的是j,打印结果是:1:j i=0 n=0
{
print("构造块"); //这里调用了下面的print函数,感觉这对{}没什么用。打印结果是:2:构造块 i=1 n=1
}
static //这是静态方法,由于上面new了一个t1,所以打印结果是:3:t1 i=2 n=2
{
print("静态块"); //这里调用了下面的print函数所以打印结果是:4:j i=3 n=3
}
// 由于每次调用Test1,print方法,都让i,n自增。所以接下来打印结果是:
// 5:构造块 i=4 n=4
// 6:t2 i=5 n=5
// 7:i i=6 n=6
// 8:静态块 i=7 n=99
// 9:j i=8 n=100
// 10:构造块 i=9 n=101
// 11:init i=10 n=102
public Test1(String str){ //这里是Test1方法
System.out.println((++k) + ":" + str + " i=" + i + " n=" + n);
++i;
++n;
}
private static int print(String str){ //这是print函数
System.out.println((++k) + ":" + str + " i=" + i + " n=" + n);
++n;
return ++i;
}
public static void main(String[] args){ //这是主函数
Test1 t = new Test1("init");
}
}
|