class Singleton{ private static Singleton instance=new Singleton(); public static int count; public static int count1=0; private Singleton(){ count++; count1++; } public static Singleton getInstance(){ return instance; } }public class SingleTonDemo { public static void main(String[] args) { Singleton instance=Singleton.getInstance(); System.out.println(instance.count); //1 System.out.println(instance.count1);//0 }
1 回答

慕運維8079593
TA貢獻(xiàn)1876條經(jīng)驗 獲得超5個贊
因為你變量初始化順序的問題。
創(chuàng)建
Singleton
對象,此時count
,count1
都為1
private static Singleton instance = new Singleton();
靜態(tài)初始化
count1
,這里又將count1
賦值為0
public static int count1 = 0;
你想要2個都得1將
instance
初始化放置在count1
下面即可。public static int count;
public static int count1 = 0; private static Singleton instance = new Singleton();
添加回答
舉報
0/150
提交
取消