why wrapper class does not have a default constructor???
In my opinion, Wrapper classes doesn't have the default constructor because of the immutability feature of Wrapper objects i.e. in Java the primitive Wrapper objects are immutable i.e. a value assigned once to this object can't be changed so, there is no sense made for assigning a default value to an immutable object because each time it will give the default value and you will be stuck with this default value.
To read detail about the Wrapper class in Java you can go through the following link Wrapper Classes