Java で Enum を使用した単一インスタンスの実装: 違いを理解する
シングルトン パターンでは、クラスの単一インスタンスのみが作成されることが保証されます。 Java でシングルトンを実装するための 1 つのアプローチは、列挙型を利用することです。ただし、このアプローチにはバリエーションがあり、その違いやメリットについて疑問が生じます。
説明した 2 つのシナリオを見てみましょう:
シナリオ 1: インスタンス メソッドの使用
<code class="java">public enum Elvis { INSTANCE; private int age; public int getAge() { return age; } }</code>
この場合、次のようにインスタンスとそのメソッドにアクセスできます:
<code class="java">Elvis.INSTANCE.getAge();</code>
シナリオ 2: 静的メソッドの使用
<code class="java">public enum Elvis { INSTANCE; private int age; public static int getAge() { return INSTANCE.age; } }</code>
ここでは、静的メソッドを通じてインスタンスのプロパティにアクセスできます:
<code class="java">Elvis.getAge();</code>
相違点と考慮事項:
アプローチの選択:
最終的に、シナリオの選択はユーザーの状況によって異なります。特定のニーズ:
以上がJava の Enum シングルトン: インスタンス メソッドと静的メソッド - 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。