How can we make a class Singleton

Q

How can we make a class Singleton

✍: Guest

A
 
A) If the class is Serializable

  
  class Singleton implements Serializable
  {  
	private static Singleton instance; 
	
	private Singleton()  {  }   
		
public static synchronized  Singleton getInstance()
	  	{
		if (instance == null)
			instance = new Singleton(); 
		return instance;
	}
	
	/**
If the singleton implements Serializable, then this
	* method must be supplied.
	*/ 
	protected Object readResolve() {
		return instance;
	}
	
	/**
	This method avoids the object fro being cloned
	*/
	public Object clone() {
		throws CloneNotSupportedException ;
		//return instance;
	}
 } 
	
B) If the class is NOT Serializable


class Singleton
	{
	private static Singleton instance;
	private Singleton()  {  }   

public static synchronized  Singleton getInstance()
	  	{
		if (instance == null) 
			instance = new Singleton();
		return instance;
	}

	/**
This method avoids the object from being cloned
	**/
	public Object clone() {
		throws CloneNotSupportedException ;
		//return instance;
	}

} 

2013-03-18, 1862👍, 0💬