Rumah >Java >javaTutorial >Mengapa Menggunakan Blok Permulaan Statik di Java?

Mengapa Menggunakan Blok Permulaan Statik di Java?

Barbara Streisand
Barbara Streisandasal
2024-12-20 17:46:14928semak imbas

Why Use Static Initialization Blocks in Java?

Blok Permulaan Statik: Mengapa Blok Berasingan?

Anda mungkin pernah menemui konsep "blok permulaan statik" dalam Java. Ia bertujuan untuk menangani senario yang memberikan nilai kepada medan statik tidak boleh dilakukan dalam satu baris. Walau bagaimanapun, anda mungkin tertanya-tanya mengapa blok khas diperlukan untuk tujuan ini.

Di Java, blok bukan statik dilaksanakan setiap kali tika baharu kelas dibuat. Blok statik, sebaliknya, dilaksanakan sekali sahaja apabila kelas itu sendiri dimulakan. Ini berlaku tanpa mengira bilangan objek kelas tertentu yang anda cipta.

Pertimbangkan contoh berikut:

public class Test {

    static {
        System.out.println("Static");
    }

    {
        System.out.println("Non-static block");
    }

    public static void main(String[] args) {
        Test t = new Test();
        Test t2 = new Test();
    }
}

Output:

Static
Non-static block
Non-static block

Dalam contoh ini, blok statik yang mengandungi "Statik" dilaksanakan sekali sahaja apabila kelas Ujian pada mulanya dimuatkan. Blok bukan statik yang mengandungi "Blok bukan statik" dilaksanakan setiap kali tika baharu (t dan t2) kelas Ujian dibuat.

Oleh itu, menggunakan blok permulaan statik membolehkan anda melakukan tindakan tertentu atau tetapkan nilai kepada medan statik sekali sahaja semasa permulaan kelas, manakala blok bukan statik digunakan untuk tugas yang perlu dilakukan setiap kali objek kelas itu disegerakan.

Atas ialah kandungan terperinci Mengapa Menggunakan Blok Permulaan Statik di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn