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
}
변수 초기화 순서 때문입니다.
은
입니다. 으아악Singleton
객체를 생성합니다. 이때count
과count1
은 모두1
정적 초기화
에 할당됩니다. 으아악count1
, 여기서count1
는0
2개를 원하면 1개가 필요합니다.
으아악instance
아래에count1
초기화를 배치하면 됩니다.