Hello,
The java will not provide a defualt constructor If, any user defined constructor is present. The reason itself is present in above statement. Defining constructor means user want to declare a particluar type of object of that class.
Constructor is way to define the initial behavior of the object. you are defining the behavior. The whole object control is in your hand. Think of a situation, where you want to to declare a object which always takes two inputs in creation to decide its state, but some has created with out any input. The whole purpose of your class will go wrong.
So the constructors are used to define the initail behavior of the object.
So If you have atleast one way to define, then you are the control of the remaing ways too.
And If you do not provide any way ,then java will provide one way to set initial behavior to the object.
Hope, I have given enough information.
Please add if you know more ......