0
public class Tmp {
public static void main(String[] s) {
//new Tmp(); //comment 1
}
A a = new A(1); //comment 2
}
class A {
A(int i) {
System.out.println("value in A: " + i);
}
}
a
은 주석 2 행을 실행 한 후에 생성 된 것으로 가정합니다.이 실행되었습니다. 그러나 아무것도 인쇄되지 않았다. 주석 1으로 줄을 활성화 한 후에 만 "값이 A : 1"이 인쇄됩니다. 그렇다면 객체가 실제로 만들어 질 때 혼란 스럽습니다. 대조적으로, static A a = new A(1);
은 주석 1이 비활성화 된 줄에도 "value in A : 1"을 인쇄합니다.A a = new A() 뒤에 인스턴스가 실제로 생성됩니까?
누구나이 메 커니즘에 대해 설명 할 수 있습니까? 감사.