Singleton is object of a class that can be created, but it can't be instantiated by the developers. Review the code below:

Java Code:
public class SingletonObject
{
 private SingletonObject()
 {
 }

 public static SingletonObject getSingletonObject()
 {
   if (ref == null)
       // can call this constructor
       ref = new SingletonObject();
   return ref;
 }

 public Object clone()
       throws CloneNotSupportedException
 {
   throw new CloneNotSupportedException();
 }

 private static SingletonObject ref;
}