I want to create a singleton object and I found 3 ways, which one is better and why are others bad. The constructor is assumed to be private.
Method 1:
class ClassX{  
   private static ClassX objX = null;
      static{
          objX = new ClassX();
      }
   //get objX method
 }
Method 2:
 class ClassX{  
   private static ClassX objX = new ClassX();
   //get objX method
 }
Method 3:
 class ClassX{  
   private static ClassX objX = null;
   public ClassX getInstance(){
      if(objX == null)
          return new ClassX();
      else
          return objX;
   }
 }
 
     
     
     
     
     
    