In Singleton Pattern, You can't create a object for others class. They are restricted by making the constructor of their as private.
For the Singleton class the following is Mandatory: 1. Constructor should be private. 2. The object should be static. (i.e., static classname ref = new classname(); ) 3. Use static method to get the instance.
"Mandatory" is a bit strong there. Singleton has a mechanism to control the number of instances of a class. The number is usually "one" but there could be cases where some other small, controlled number is appropriate. And there are other mechanisms to control creation besides a private constructor.
The simplest mechanism is as described above:
Do look up the other threads on this topic. We've discussed WHY you'd want a singleton and some of the dangers many times before.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi