Hi,
I'll give an example. Just think that you wanna buy a car .Here Car is a class. When you say
Car a= new Car();
the car class is instantiated.(ie you've bought the car)
Now you have specified before buying the car, that you need A/c, diesel as fuel, the colour of car, etc. All these attributes are mentioned in your 0 argument constructor. If you don't give all these details, then the store gives oyu a car with default settings.
It's the same with the constructor. If you define your own constructor, It is called when you say
new Car().Otherwise, if you don't define your own constructor, you get a car with default values .(created by default constructor).
I hope you understood the concept.
-Cheers,
Pooja