質問: Singleton2.getInstance(); } ```
回答: 1は最初に静的メンバが参照される時に、一度だけ 静的コンストラクタ が実行され、インスタンスが初期化されます。 2は毎回静的メンバの null チェックをし、nullである時にインスタンスを作成します。 1は余計なチェックを省略できるというメリットがありますが、静的コンストラクタのリンク先の説明を読んで頂くと判りますが、いくつか注意しないといけない点もあります。 どちらが良い悪いというものでもないので、メリット・デメリットを把握した上で、どちらを採用するかを決めればよいかと思います。