클래스 로드 문제

975 단어
클래스 로드 문제
다음 프로그램의 인쇄 결과는 다음과 같습니다.
        obj.counter1==1
        obj.counter2==0
아무리 생각해도 모르겠다.counter1은 초기값을 붙이지 않았고 기본값도 0이야. 왜 그들 두 사람의 결과는 다르지?
대협이 그중의 원인을 설명해 주세요, 감사합니다!public class Singleton {
  private static Singleton obj = new Singleton();
  public static int counter1;
  public static int counter2 = 0;

  private Singleton() {
    counter1++;
    counter2++;
  }

  public static Singleton getInstance() {
    return obj;
  }

  public static void main(String[] args) {
    Singleton.getInstance();
    System.out.println("obj.counter1==" + counter1);
    System.out.println("obj.counter2==" + counter2);
  }
}

좋은 웹페이지 즐겨찾기