- 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