Sintaks ini dipanggil blok permulaan dinamik Java.
Ia ialah coretan kod yang dilampirkan dalam kurungan kerinting dalam kelas dan dipanggil secara automatik apabila kelas itu dibuat seketika.
Contohnya:
class Person {
{System.out.print(123);}
}
Kemudian apabila new Person() dipanggil, 123 akan dicetak.
Bagi kod dalam soalan anda, blok permulaan dinamik hanya diletakkan dalam kelas tanpa nama, jadi ia kelihatan agak pelik dan sukar difahami. Walau bagaimanapun, selepas semua, kelas tanpa nama juga adalah kelas, jadi mereka sah. Hasilnya ialah apabila kelas tanpa nama dijadikan instantiated, kod itu dilaksanakan dan beberapa elemen dimasukkan ke dalam koleksi, yang bersamaan dengan memulakan koleksi.
Mengenai versi Java yang mana ia disokong, saya tidak ingat dengan jelas, tetapi dianggarkan ia telah disokong untuk masa yang lama, dan ia harus disokong sejak Java 5.
Akhir sekali, memulakan koleksi dengan cara ini kelihatan seperti ilmu hitam.
Selain itu, anda juga boleh menyemak Blok permulaan statik untuk membandingkan perbezaannya.
Kurung kerinting bukan kelas dalaman tanpa nama, tetapi blok kod pembinaan, yang nampaknya dilaksanakan sebelum kaedah pembinaan (saya tidak ingat dengan jelasnya sebagai perkara yang sama dengan kaedah pembinaan).
Sintaks ini dipanggil blok permulaan dinamik Java.
Ia ialah coretan kod yang dilampirkan dalam kurungan kerinting dalam kelas dan dipanggil secara automatik apabila kelas itu dibuat seketika.
Contohnya:
Kemudian apabila
new Person()
dipanggil,123
akan dicetak.Bagi kod dalam soalan anda, blok permulaan dinamik hanya diletakkan dalam kelas tanpa nama, jadi ia kelihatan agak pelik dan sukar difahami. Walau bagaimanapun, selepas semua, kelas tanpa nama juga adalah kelas, jadi mereka sah. Hasilnya ialah apabila kelas tanpa nama dijadikan instantiated, kod itu dilaksanakan dan beberapa elemen dimasukkan ke dalam koleksi, yang bersamaan dengan memulakan koleksi.
Mengenai versi Java yang mana ia disokong, saya tidak ingat dengan jelas, tetapi dianggarkan ia telah disokong untuk masa yang lama, dan ia harus disokong sejak Java 5.
Akhir sekali, memulakan koleksi dengan cara ini kelihatan seperti ilmu hitam.
Selain itu, anda juga boleh menyemak Blok permulaan statik untuk membandingkan perbezaannya.
Pendakap kerinting di dalam
ialah blok permulaan, yang akan dilaksanakan antara panggilan pembina dalam
baharuKurung kerinting bukan kelas dalaman tanpa nama, tetapi blok kod pembinaan, yang nampaknya dilaksanakan sebelum kaedah pembinaan (saya tidak ingat dengan jelasnya sebagai perkara yang sama dengan kaedah pembinaan).