Erstellen von Singletons mit Enum in Java: Unterschiede und Überlegungen
In der objektorientierten Programmierung sind Singletons Klassen, die die Existenz von nur einer garantieren Beispiel. Java ermöglicht die Erstellung von Singletons mithilfe von Enumerationen. Obwohl es verschiedene Ansätze gibt, um dies zu erreichen, sind zwei bemerkenswerte Varianten:
Option 1: Instanzmethode
<code class="java">public enum Elvis { INSTANCE; private int age; public int getAge() { return age; } }</code>
Dieser Ansatz erstellt eine private Instanzvariable (Alter). und stellt eine Getter-Methode (getAge) bereit, um darauf zuzugreifen. Der Singleton-Zugriff wird über Elvis.INSTANCE erreicht.
Option 2: Statische Methode
<code class="java">public enum Elvis { INSTANCE; private int age; public static int getAge() { return INSTANCE.age; } }</code>
In dieser Variante ist die Altersvariable innerhalb der Aufzählung immer noch privat, aber Der Zugriff erfolgt über eine statische Methode (getAge). Der Zugriff auf den Singleton erfolgt über Elvis.getAge().
Unterschiede und Überlegungen
Instanzmethode:
Statische Methode:
Überlegungen zur Bindung:
Optimalität:
Das obige ist der detaillierte Inhalt vonInstanz vs. statische Methode für Singletons: Welche ist ideal für die Enum-basierte Implementierung in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!