public class Singleton{
// privateなコンストラクタ
private Singleton(){
}
// 以下省略
}
上記クラスを、他のクラスからSingleton sngltn = new Singleton();とするとエラーとなります。
public class Singleton{
private static Singleton sngltn;
// privateなコンストラクタ
private Singleton(){
}
public static Singleton getInstance(){
if(sngltn == null){
sngltn = new Singleton();
}
return sngltn;
}
}
これで、他のクラスからSingleton.getInstance();とすることでSingletonクラスのインスタンスを取得することができます。
public class Singleton{
private static Singleton sngltn = new Singleton();
// privateなコンストラクタ
private Singleton(){
}
public static Singleton getInstance(){
return sngltn;
}
}
このように先にインスタンスを生成しておくことでgetInstanceメソッドでは必ずひとつのインスタンスが返ってくるようにすることができます。