执行过程:
首先会加载Test类,然后加载Test类中的静态属性和方法
所以加载Test类的时候首先加载tester属性,加载tester属性的时候对其进行显示初始化,此时
new Test();的地址被tester属性引用,并执行Test类的构造方法,count1和count2的值都变为1;
第二步加载静态的count1,因为count1是类所共享的,并且已经有值了,就不会给它进行赋值了,
count1的值仍为1;
第三步加载静态的count2,因为有这个语句count2=0;所以count2的值被显示初始化为0。所以count2
的值为0 |
|