Singletonパターンの実装例 (Java)
[履歴] (2013/08/16 11:06:22)

概要

何らかの理由で、複数個のインスタンスを生成されては困るあるいは必要ない場合、インスタンスが一つ (Singleton) しか生成されないことを保証することができます。

sample.java

class Singleton {
    private static Singleton singleton = new Singleton(); //クラス変数として唯一のインスタンスを保持
    private Singleton() {} //newできなくする
    public static Singleton getInstance() {return singleton;} //クラス変数に格納された唯一のインスタンスの参照を返す
    public void greet() {System.out.println("hi");}
}

class Sample {
    public static void main(String args[]) {
        Singleton singleton = Singleton.getInstance();
        singleton.greet();

        System.out.println(singleton == Singleton.getInstance()); //参照先は同じ
    }
}

実行例

$ javac sample.java && java Sample
hi
true
関連ページ
    静的メンバ変数 sub.h #ifndef SUB_H_ #define SUB_H_ class MyClass { public: MyClass(int intval); public: void Show() const; private: static int m_intval; // 静的メンバ変数 }; #endif // #ifndef SUB_H
    概要 Spring は様々なフレームワークを提供する、Java のプロジェクト群です。Spring Batch、Spring Security、Spring Loaded といったプロジェクトがあります。Spring Boot は、これら Spring フレームワークを内部的に利用するフレームワークです。効率的なアプリケーション開発が可能になります。環境構築の手順を把握できるサンプルコードをまと
    概要 Scala は JVM 上で動作するバイトコードにコンパイルできる言語です。JAVA よりも柔軟な記述ができます。事前にこちらからダウンロードおよびインストールしておいてください。基本的な文法をまとめます。 変数および定数 詳細は『Scala の型に関する知識』をご参照ください。 object HelloWorld { def main(args: Array[String]):