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;
}
}