For code: plz explain the output. I can't get how Test1 t1 = new Test1(10); is getting executed despite not in constructor.
# | User | Rating |
---|---|---|
1 | tourist | 3985 |
2 | jiangly | 3814 |
3 | jqdai0815 | 3682 |
4 | Benq | 3529 |
5 | orzdevinwang | 3526 |
6 | ksun48 | 3517 |
7 | Radewoosh | 3410 |
8 | hos.lyric | 3399 |
9 | ecnerwala | 3392 |
9 | Um_nik | 3392 |
# | User | Contrib. |
---|---|---|
1 | cry | 169 |
2 | maomao90 | 162 |
2 | Um_nik | 162 |
4 | atcoder_official | 161 |
5 | djm03178 | 158 |
6 | -is-this-fft- | 157 |
7 | adamant | 155 |
8 | Dominater069 | 154 |
8 | awoo | 154 |
10 | luogu_official | 150 |
For code: plz explain the output. I can't get how Test1 t1 = new Test1(10); is getting executed despite not in constructor.
Name |
---|
Link. In short: constructor is not the only one who is called when constructing a new object in Java. Fields are initialized before calling the constructor.
If it's not the desired behavior, you can always not initialize the field (if it's an object, it will be initialized to null) and initialize it in constructor.