Rumah > Java > javaTutorial > Bagaimanakah Blok Pemula Statik dan Instance Dipesan di Java?

Bagaimanakah Blok Pemula Statik dan Instance Dipesan di Java?

DDD
Lepaskan: 2024-11-29 06:32:20
asal
229 orang telah melayarinya

How are Static and Instance Initializer Blocks Ordered in Java?

Tertib Permulaan Blok Pemula Statik dan Instance di Java

Java memulakan blok pemula statik dan instance dalam susunan tertentu, memastikan pemuatan yang betul dan pelaksanaan kelas. Susunan ini adalah penting untuk mengurus kebergantungan dan peruntukan sumber.

Pemula Statik

Java memulakan blok pemula statik untuk kelas hanya apabila kelas itu atau ahli statik kelas itu pertama kali digunakan. Perkara berikut mencetuskan permulaan blok statik:

  • Membuat kelas
  • Memajukan kaedah statik kelas
  • Menetapkan nilai kepada medan statik
  • Menggunakan medan statik bukan malar
  • Melaksanakan menegaskan pernyataan dalam kelas peringkat atas

Pemula Instance

Blok pemula Instance, sebaliknya, dilaksanakan serta-merta sebelum pembina kelas. Susunan pelaksanaan ditentukan oleh kemunculan blok ini dalam definisi kelas.

Contoh

Pertimbangkan coretan kod berikut:

class Parent {
    // Static initializer
    static {
        System.out.println("static - parent");
    }

    // Instance initializer
    {
        System.out.println("instance - parent");
    }

    // Constructor
    public Parent() {
        System.out.println("constructor - parent");
    }
}

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

    // Instance initializer
    {
        System.out.println("instance - child");
    }

    // Constructor
    public Child() {
        System.out.println("constructor - child");
    }
}
Salin selepas log masuk

Apabila kelas Kanak-kanak dijadikan instantiated, output berikut ialah dihasilkan:

static - parent
static - child
instance - parent
constructor - parent
instance - child
constructor - child
Salin selepas log masuk

Ini menunjukkan bahawa pemula statik kelas induk (dalam kes ini, Induk) dilaksanakan sebelum kelas anak (Kanak-kanak). Dalam setiap kelas, blok pemula instance dilaksanakan sebelum pembina.

Pengecualian untuk Kelas Tidak Digunakan

Dalam Java, kelas yang tidak digunakan tidak pernah dimuatkan atau dimulakan. Ini terpakai pada blok pemula statik dan instance. Dalam contoh kod yang disediakan, menambah kelas baharu (IAmAClassThatIsNeverUsed) yang tidak pernah dirujuk tidak menjejaskan susunan permulaan kelas lain.

Atas ialah kandungan terperinci Bagaimanakah Blok Pemula Statik dan Instance Dipesan 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan