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

Mengapa Menggunakan Blok Permulaan Statik di Java?

Barbara Streisand
Lepaskan: 2024-12-20 17:46:14
asal
867 orang telah melayarinya

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();
    }
}
Salin selepas log masuk

Output:

Static
Non-static block
Non-static block
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan