ホームページ > Java > &#&チュートリアル > Java Enum でシングルトン インスタンスはどのように作成されますか?

Java Enum でシングルトン インスタンスはどのように作成されますか?

Mary-Kate Olsen
リリース: 2024-12-03 22:00:21
オリジナル
687 人が閲覧しました

How are Singleton Instances Created in Java Enums?

Java で列挙型を使用したシングルトン実装

シングルトン パターンは、次のように列挙型を使用して Java で実装できることに注意してください。次のコード:

public enum MySingleton {
     INSTANCE;   
}
ログイン後にコピー

ただし、インスタンス化プロセスに関して疑問が生じます。従来のオブジェクトのインスタンス化にはコンストラクターの呼び出しが含まれますが、列挙型ではこれは明示的に行われません。

列挙型のインスタンス化

列挙型には暗黙的な空のコンストラクターがあります。これを明示的にするには、列挙型定義に追加します。

public enum MySingleton {
    INSTANCE;
    private MySingleton() {
        System.out.println("Here");
    }
}
ログイン後にコピー

次に、main メソッドを使用してクラスを作成し、シングルトン列挙型をインスタンス化するとします。

public static void main(String[] args) {
    System.out.println(MySingleton.INSTANCE);
}
ログイン後にコピー

次の出力が表示されます。

Here
INSTANCE
ログイン後にコピー

Enum フィールドは、本質的に enum 型のインスタンスです。これらは、列挙型が最初に参照されるときに構築されます。したがって、メイン メソッドの INSTANCE フィールドにアクセスすると、MySingleton のインスタンス化がトリガーされ、そのコンストラクターが実行され、「Here」がコンソールに出力されます。

以上がJava Enum でシングルトン インスタンスはどのように作成されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート