Rumah >Java >javaTutorial >Contoh vs Kaedah Statik untuk Singleton: Mana yang Ideal untuk Pelaksanaan Berasaskan Enum di Jawa?

Contoh vs Kaedah Statik untuk Singleton: Mana yang Ideal untuk Pelaksanaan Berasaskan Enum di Jawa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-04 05:48:29645semak imbas

  Instance vs Static Method for Singletons: Which is Ideal for Enum-Based Implementation in Java?

Mencipta Singleton dengan Enum dalam Java: Perbezaan dan Pertimbangan

Dalam pengaturcaraan berorientasikan objek, singleton ialah kelas yang menjamin kewujudan hanya satu contoh. Java membenarkan penciptaan singleton menggunakan enum. Walaupun terdapat pendekatan berbeza untuk mencapai matlamat ini, dua variasi ketara termasuk:

Pilihan 1: Kaedah Contoh

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

    public int getAge() {
        return age;
    }
}</code>

Pendekatan ini mencipta pembolehubah contoh peribadi (umur) dan mendedahkan kaedah pengambil (getAge) untuk mengaksesnya. Akses Singleton dicapai melalui Elvis.INSTANCE.

Pilihan 2: Kaedah Statik

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

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

Dalam variasi ini, pembolehubah umur masih peribadi dalam enum, tetapi ia diakses melalui kaedah statik (getAge). Mengakses singleton dilakukan melalui Elvis.getAge().

Perbezaan dan Pertimbangan

  • Kaedah Contoh:

    • Mencipta kaedah getter khusus tika (getAge).
    • Berguna apabila sifat khusus tika perlu diubah suai atau diakses.
  • Kaedah Statik:

    • Menawarkan akses terus kepada pembolehubah umur tanpa memerlukan kejadian.
    • Hanya boleh mendapatkan semula nilai pembolehubah tanpa mengubahnya.
  • Pertimbangan Mengikat:

    • Pilihan 1 membolehkan pengikatan mudah pada sifat yang mengharapkan contoh (Elvis.INSTANCE), manakala Pilihan 2 mungkin memerlukan pengikatan kepada kelas itu sendiri (Elvis.class).
  • Optimaliti:

    • Pendekatan kaedah statik ialah lebih optimum kerana ia menghapuskan keperluan untuk mencipta contoh semata-mata untuk mengakses ahli statik.

Atas ialah kandungan terperinci Contoh vs Kaedah Statik untuk Singleton: Mana yang Ideal untuk Pelaksanaan Berasaskan Enum di Jawa?. 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