An immutable object is initialized by its constuctor only, while a singleton is instantiated by a static method. How to make an immutable singleton in Java?
public enum MySingleton { instance; //methods } //usage MySingleton.instance.someMethod();