Rumah > Java > javaTutorial > teks badan

Enums sebagai Singletons dalam Java: Pelaksanaan Mana yang Terbaik untuk Anda?

Barbara Streisand
Lepaskan: 2024-11-03 21:55:31
asal
1029 orang telah melayarinya

Enums as Singletons in Java: Which Implementation is Best for You?

Enums sebagai Singletons in Java: A Detailed Examination

Dalam bahasa pengaturcaraan Java, menggunakan enum sebagai singleton menawarkan cara yang mudah untuk memastikan bahawa hanya satu contoh kelas wujud. Walau bagaimanapun, pendekatan berbeza boleh digunakan untuk melaksanakan corak tunggal ini dengan enum, yang membawa kepada sedikit variasi dalam kefungsian dan penggunaan.

Kaedah 1: Menggunakan Instance Enum dengan Pembina Persendirian

<code class="java">public enum Elvis {
    INSTANCE;
    private int age;

    public int getAge() {
        return age;
    }
}</code>
Salin selepas log masuk

Dalam pendekatan ini, medan INSTANCE dicipta, dengan berkesan mentakrifkan contoh tunggal Elvis enum. Pembina persendirian mengehadkan instantiasi di luar definisi enum. Untuk mengakses contoh, seseorang akan menggunakan Elvis.INSTANCE.getAge().

Kaedah 2: Menggunakan Kaedah Statik Awam

<code class="java">public enum Elvis {
    INSTANCE;
    private int age;

    public static int getAge() {
        return INSTANCE.age;
    }
}</code>
Salin selepas log masuk

Di sini, medan INSTANCE adalah peribadi seperti sebelum ini. Walau bagaimanapun, daripada mendedahkan getter pada contoh enum, kaedah statik awam getAge() disediakan. Memanggil Elvis.getAge() mendapatkan semula sifat umur contoh enum.

Kebaikan dan Kelemahan

Kaedah 1:

  • Kebaikan: Menyediakan akses segera kepada contoh tunggal, kerana ia sentiasa tersedia sebagai Elvis.INSTANCE.
  • Keburukan: Pembina persendirian boleh menyukarkan untuk melepasi kelas Elvis sebagai parameter, kerana ia mungkin tidak dikenali sebagai kelas dengan pembina awam.

Kaedah 2:

  • Kebaikan: Menawarkan fleksibiliti dengan membenarkan panggilan kaedah statik, menjadikannya lebih mudah untuk mengikat kepada komponen luaran dan mengelakkan pengehadan untuk menghantar contoh enum.
  • Keburukan: Lebih bertele-tele sedikit daripada Kaedah 1, kerana ia memerlukan kaedah statik awam dan bukannya直接访问枚举实例。

Pertimbangan Kes Penggunaan

Pendekatan terbaik untuk menggunakan enum sebagai singleton bergantung pada kes penggunaan tertentu.

  • Jika rujukan terus kepada contoh tunggal diperlukan dan ia akan terikat kepada komponen luaran yang menjangkakan suatu kejadian, Kaedah 1 mungkin lebih sesuai.
  • Jika panggilan kaedah statik mencukupi dan menyediakan fleksibiliti untuk pengikatan adalah keutamaan, Kaedah 2 menawarkan pilihan yang lebih mudah.

Secara amnya, pertimbangkan untuk menggunakan kaedah statik apabila kefungsian itu berdiri sendiri dan tidak memerlukan contoh eksplisit kelas enum. Untuk situasi di mana sifat sesuatu kejadian adalah penting dan akses terus diperlukan, pendekatan pertama boleh menjadi lebih sesuai.

Atas ialah kandungan terperinci Enums sebagai Singletons dalam Java: Pelaksanaan Mana yang Terbaik untuk Anda?. 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