java singleton pattern code example
Example 1: java singleton implementation
public class SingletonClass {
private static final SingletonClass SINGLE_INSTANCE = new SingletonClass();
private SingletonClass() {}
public static SingletonClass getInstance() {
return SINGLE_INSTANCE;
}
}
Example 2: java singleton
public final class SomeSingleton {
public static final SomeSingleton INSTANCE;
private SomeSingleton() {
INSTANCE = (SomeSingleton)this;
System.out.println("init complete");
}
static {
new SomeSingleton();
}
}
Example 3: java singleton
- A private constructor
- A static field containing its only instance
- A static factory method for obtaining the instance
public final class ClassSingleton
{
private static ClassSingleton INSTANCE;
private String info = "Initial info class";
private ClassSingleton()
{
}
public static ClassSingleton getInstance()
{
if(INSTANCE == null)
{
INSTANCE = new ClassSingleton();
}
return INSTANCE;
}
}
=============Usage============
To use our ClassSingleton, we simply need to get the instance statically:
ClassSingleton classSingleton1 = ClassSingleton.getInstance();
System.out.println(classSingleton1.getInfo());
ClassSingleton classSingleton2 = ClassSingleton.getInstance();
classSingleton2.setInfo("New class info");
System.out.println(classSingleton1.getInfo());
System.out.println(classSingleton2.getInfo());
Example 4: java singleton
public class SingletonOnDemand {
private SingletonOnDemand () {}
private static class Singleton {
private static final SingletonOnDemand instance = new SingletonOnDemand();
}
public static SingletonOnDemand getInstance () {
System.out.println("create instance");
return Singleton.instance;
}
}