implement singleton pattern using interface java code example
Example 1: 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;
}
// getters and setters
}
=============Usage============
To use our ClassSingleton, we simply need to get the instance statically:
ClassSingleton classSingleton1 = ClassSingleton.getInstance();
System.out.println(classSingleton1.getInfo()); //Initial class info
ClassSingleton classSingleton2 = ClassSingleton.getInstance();
classSingleton2.setInfo("New class info");
System.out.println(classSingleton1.getInfo()); //New class info
System.out.println(classSingleton2.getInfo()); //New class info
Example 2: 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;
}
}