Blok Kod Permulaan Statik lwn. Blok Kod Permulaan Bukan Statik
Di Java, anda boleh mengisytiharkan blok kod dalam kelas yang dilaksanakan semasa kelas permulaan atau instantiasi objek. Walaupun kedua-dua jenis blok kod boleh digunakan untuk melakukan tindakan tertentu, ia berbeza dalam skop dan gelagatnya.
Blok Kod Permulaan Statik
Blok kod permulaan statik ialah diisytiharkan dengan kata kunci statik sebelum pendakap kerinting pembukaan {. Ia dikaitkan dengan kelas itu sendiri, bukan dengan mana-mana objek tertentu. Blok kod ini dilaksanakan sekali sahaja, apabila kelas dimuatkan oleh Mesin Maya Java (JVM). Ia biasanya digunakan untuk memulakan pemalar peringkat kelas, seperti pembolehubah akhir statik.
Sebagai contoh:
public class Test { private static final int a; static { a = 5; doSomething(a); } private static int doSomething(int x) { return (x+5); } }
Dalam contoh ini, blok permulaan statik memulakan pembolehubah akhir statik a dengan nilai 5 dan memanggil kaedah doSomething. Memandangkan ia statik, ia boleh mengakses pembolehubah statik a dari dalam blok.
Blok Kod Permulaan Bukan Statik
Blok kod permulaan bukan statik, juga dikenali sebagai blok permulaan contoh, diisytiharkan tanpa kata kunci statik. Ia dikaitkan dengan objek dan dilaksanakan setiap kali objek kelas itu dicipta. Blok kod ini biasanya digunakan untuk memulakan pembolehubah peringkat contoh atau melakukan sebarang persediaan yang diperlukan untuk objek.
Contohnya:
public class Test { private int a; { a = 5; doSomething(a); } private void doSomething(int x) { // ... } }
Dalam contoh ini, blok permulaan bukan statik memulakan pembolehubah instance a dengan nilai 5 dan memanggil kaedah doSomething. Memandangkan ia bukan statik, ia hanya boleh mengakses pembolehubah contoh objek semasa.
Tujuan dan Dokumentasi
Blok kod permulaan statik berguna untuk menyediakan kelas -pemalar luas dan melaksanakan tugas yang perlu dilakukan semasa pemuatan kelas. Ia boleh digunakan untuk tugas seperti mengesahkan parameter input, mendaftarkan pengendali acara atau memulakan rangka kerja pengelogan.
Blok kod permulaan bukan statik digunakan untuk memulakan pembolehubah peringkat contoh dan melaksanakan sebarang persediaan yang diperlukan untuk objek. Ia boleh digunakan untuk tugas seperti menetapkan nilai lalai, mengesahkan input atau mencipta objek kanak-kanak.
Dokumentasi untuk blok kod permulaan statik dan bukan statik boleh didapati dalam Spesifikasi Bahasa Java (JLS), khususnya dalam bahagian yang merangkumi Permulaan Kelas dan Permulaan Contoh.
Atas ialah kandungan terperinci Blok Permulaan Statik vs. Bukan Statik di Java: Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!