Home Java Beginners Singleton Design Pattern



Singleton Design Pattern
Posted on: July 6, 2007 at 12:00 AM
This example explores how to implement a SingletonPattern on a class in java.

Singleton Design Pattern

     

This example explores how to implement a SingletonPattern on a class in java.

The Singleton design pattern ensures that only one instance of a class is created, it provides a global point of access to the object and allow multiple instances in the future without affecting a singleton class's clients. To ensure that only one instance of a class is created we make SingletonPattern as static. getInstance() method returns a single instance of the class. We create a private default constructor to avoid outside modification.

This example gets instances of SingletonPattern two times but the method getInstance() will return the same object without creating a new one.

 The code of the program is given below:

public class SingletonPattern{
  private static SingletonPattern instance;
  private SingletonPattern(){} 
public static synchronized SingletonPattern getInstance(){
  if (instance == null)
  {
  instance = new SingletonPattern();
  }
  return instance;
  }
public static void main(String arg[]){
  System.out.println("The output of two instance:");
  SingletonPattern sp=new SingletonPattern();
  System.out.println("First Instance: "+sp.getInstance());
  sp=new SingletonPattern();
  System.out.println("Second Instance:"+sp.getInstance());
  }
}

The output of the program is given below:

C:\rajesh\kodejava>javac SingletonPattern.java
C:\rajesh\kodejava>java SingletonPattern
The output of two instance:
First Instance: SingletonPattern@3e25a5
Second Instance:SingletonPattern@3e25a5

Download this example.

Related Tags for Singleton Design Pattern:
cdesignideclassstaticobjectsingletonmultiplemakeclientmethodgetipvipatternfutureglobalreturncliinstanceintidcreatepoiiewithtopointglobsingleesignitdesmultiliulceinasstamntoutletjclclientseswithoutalllobmeinstancesobjprosurntipsucreatedessatkishalleaandstatccttssthbalstaccessatiafhatfeesiesiipljepleplprndonlyononpnl


More Tutorials from this section

Ask Questions?    Discuss: Singleton Design Pattern   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.