Bei der Verwendung eines Enums zum Erstellen eines Singletons in Java gibt es zwei gängige Ansätze: die Verwendung eines konstruktorlosen Enums mit Instanzmethoden oder Verwendung einer statischen Methode innerhalb der Aufzählung. Jeder Ansatz bietet seine eigenen Nuancen.
<code class="java">public enum Elvis { INSTANCE; private int age; public int getAge() { return age; } }</code>
In diesem Beispiel wird über Elvis.INSTANCE.getAge() auf den Singleton zugegriffen. Dieser Ansatz stellt eine klare Instanz des Objekts bereit und ermöglicht den Zugriff sowohl auf instanzspezifische Variablen als auch auf Methoden.
<code class="java">public enum Elvis { INSTANCE; private int age; public static int getAge() { return INSTANCE.age; } }</code>
In diesem Fall wird mit Elvis auf den Singleton zugegriffen .getAge(). Dieser Ansatz betont statische Methoden, die praktisch sind, wenn das Verhalten des Singletons nicht stark von instanzspezifischen Variablen abhängt.
Die Wahl zwischen diesen Ansätzen hängt von den spezifischen Anforderungen ab :
Das obige ist der detaillierte Inhalt vonEnum Singleton: Konstruktorlose Instanz vs. statische Methoden – Welcher Ansatz soll gewählt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!