Rumah >Java >javaTutorial >Apakah Perintah Pelaksanaan Blok Pemula Statik dan Instance di Java?

Apakah Perintah Pelaksanaan Blok Pemula Statik dan Instance di Java?

Barbara Streisand
Barbara Streisandasal
2024-11-24 08:28:09919semak imbas

What's the Execution Order of Static and Instance Initializer Blocks in Java?

Tertib Pelaksanaan Blok Pemula Statik dan Instance di Java

Apabila bekerja dengan kelas Java, adalah penting untuk memahami susunan statik dan blok pemula instance dilaksanakan. Blok ini melakukan operasi penting seperti memberikan nilai awal dan memulakan ahli kelas dan objek.

Blok Pemula Instance

Blok pemula Instance, disertakan dalam pendakap kerinting { }, dilaksanakan setiap kali contoh kelas dibuat. Mereka dilaksanakan mengikut susunan yang muncul dalam kod dalam kelas. Tingkah laku ini konsisten merentas semua kelas.

Blok Pemula Statik

Blok pemula statik, juga disertakan dalam pendakap kerinting { } dan didahului oleh kata kunci statik, dilaksanakan apabila kelas dimuatkan. Ia tidak dikaitkan dengan mana-mana tika tertentu dan dilaksanakan sekali sahaja, tanpa mengira bilangan tika yang dibuat.

Perintah Pelaksanaan Khusus

Spesifikasi Bahasa Java (JLS) mentakrifkan susunan khusus untuk pelaksanaan blok pemula statik:

  1. Statik Blok pemula kelas induk dilaksanakan dahulu.
  2. Blok pemula statik subkelas langsung dilaksanakan seterusnya.
  3. Tertib ini diikuti secara rekursif sehingga semua subkelas mempunyai blok pemula statiknya dilaksanakan.

Contoh

Pertimbangkan contoh kod berikut:

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

class Parent extends Grandparent {
    static { System.out.println("Static - Parent"); }
}

class Child extends Parent {
    static { System.out.println("Static - Child"); }
}

Apabila kaedah utama dilaksanakan, output berikut ialah dihasilkan:

Static - Grandparent
Static - Parent
Static - Child

Ini menunjukkan bahawa blok pemula statik adalah dilaksanakan dalam perintah induk -> subkelas.

Pengecualian

Terdapat satu pengecualian yang ketara kepada peraturan ini. Jika kelas induk mentakrifkan kelas yang tidak pernah dirujuk, blok pemula statiknya tidak akan dilaksanakan. Ini kerana pemuat kelas hanya memulakan kelas yang diperlukan secara eksplisit.

Atas ialah kandungan terperinci Apakah Perintah Pelaksanaan Blok Pemula Statik dan Instance 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