> For the complete documentation index, see [llms.txt](https://dev117uday.gitbook.io/notes-md/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev117uday.gitbook.io/notes-md/software-design/design-patterns/creational-design-pattern/singleton-dp.md).

# Singleton DP

* Creational Design Pattern
* Only one instance of the class should exist

**Example : Eager Initialization**

```java
public class Singleton {

    private static Singleton instance = new Singleton();

    private Singleton() {
    }

    public static Singleton getObject() {
        return instance;
    }

}
```

**Example : Lazy initialization**

```java
public class Singleton {

    private static Singleton instance = null;
    
    private Singleton() {}
    
    public static Singleton getObject(){ 
        if(instance == null) { 
            instance = new Singleton();  
        }  
        return instance;  
    } 

}
```
