Rumah >Java >javaTutorial >Bagaimanakah Instans Singleton Dicipta dalam Java Enums?

Bagaimanakah Instans Singleton Dicipta dalam Java Enums?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-03 22:00:21718semak imbas

How are Singleton Instances Created in Java Enums?

Implementasi Singleton menggunakan Enum dalam Java

Telah diperhatikan bahawa corak Singleton boleh dilaksanakan di Java menggunakan enum, seperti yang ditunjukkan oleh kod berikut:

public enum MySingleton {
     INSTANCE;   
}

Walau bagaimanapun, persoalan timbul mengenai proses instantiasi. Instalasi objek tradisional melibatkan penggunaan pembina, tetapi dalam enum, ini tidak dilakukan secara eksplisit.

Instantiating Enums

Enums mempunyai pembina kosong tersirat. Untuk menjadikannya jelas, anda boleh menambahkannya pada definisi enum:

public enum MySingleton {
    INSTANCE;
    private MySingleton() {
        System.out.println("Here");
    }
}

Sekarang, jika anda mencipta kelas dengan kaedah utama dan membuat instantiat Singleton enum:

public static void main(String[] args) {
    System.out.println(MySingleton.INSTANCE);
}

Anda akan melihat output berikut:

Here
INSTANCE

Medan enum pada asasnya ialah tika jenis enum. Ia dibina apabila jenis enum pertama kali dirujuk. Oleh itu, apabila anda mengakses medan INSTANCE dalam kaedah utama, ia mencetuskan instantiasi MySingleton dan pembinanya berjalan, mencetak "Di sini" ke konsol.

Atas ialah kandungan terperinci Bagaimanakah Instans Singleton Dicipta dalam Java Enums?. 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