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の行を有効にした後でのみ、 "value in A:1"が表示されます。オブジェクトが実際に作成されたとき、私はそれを混乱させますか?対照的に、static A a = new A(1);
は、コメント1の行が無効であっても、 "A:1の値"を出力します。インスタンスは本当にA a = new A()の後に作成されますか?
誰でもこの背後にある技術を説明できますか?ありがとう。