public class ToshibaTest {
static private ToshibaTest tt=new ToshibaTest();
static int count1;
static int count2=0;
ToshibaTest(){
count1++;
count2++;
}
static ToshibaTest getInstance(){
return tt;
}
public static void main(String[] args){
ToshibaTest tt=getInstance();
System.out.println(tt.count1+":"+tt.count2);
}
}
为什么输出是1:0?
【请教】一个关于static的问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答
zzxplayful 2008-10-28 22:08关注java初始化是有顺序的。
先初始化静态变量,放到常量区。所以先执行
static private ToshibaTest tt=new ToshibaTest();
现在count1=1,count2=1
然后,执行static int count1;static int count2=0;
所以,输出是 1 和 0本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报