java singleton pattern code example

Example 1: java singleton implementation

public class SingletonClass {
    private static final SingletonClass SINGLE_INSTANCE = new SingletonClass();
    private SingletonClass() {}
  public static SingletonClass getInstance() {
      return SINGLE_INSTANCE;
    }
}

Example 2: java singleton

public final class SomeSingleton {
   public static final SomeSingleton INSTANCE;

   private SomeSingleton() {
      INSTANCE = (SomeSingleton)this;
      System.out.println("init complete");
   }

   static {
      new SomeSingleton();
   }
}

Example 3: java singleton

- A private constructor
- A static field containing its only instance
- A static factory method for obtaining the instance

public final class ClassSingleton 
{

    private static ClassSingleton INSTANCE;
    private String info = "Initial info class";
    
    private ClassSingleton() 
	{        
    }
    
    public static ClassSingleton getInstance() 
	{
        if(INSTANCE == null) 
        {
            INSTANCE = new ClassSingleton();
        }
  
        return INSTANCE;
    }

    // getters and setters
}

                      =============Usage============
                        

To use our ClassSingleton, we simply need to get the instance statically:

ClassSingleton classSingleton1 = ClassSingleton.getInstance();

System.out.println(classSingleton1.getInfo()); //Initial class info

ClassSingleton classSingleton2 = ClassSingleton.getInstance();
classSingleton2.setInfo("New class info");

System.out.println(classSingleton1.getInfo()); //New class info
System.out.println(classSingleton2.getInfo()); //New class info

Example 4: java singleton

public class SingletonOnDemand {
	
	private SingletonOnDemand () {}
	private static class Singleton {
		private static final SingletonOnDemand instance = new SingletonOnDemand();
	}
	
	public static SingletonOnDemand getInstance () {
		System.out.println("create instance");
		return Singleton.instance;
	}
}

Tags:

Java Example