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
Lepaskan: 2024-11-24 08:28:09
asal
908 orang telah melayarinya

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

Apabila kaedah utama dilaksanakan, output berikut ialah dihasilkan:

Static - Grandparent
Static - Parent
Static - Child
Salin selepas log masuk

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!

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