If you have a constructor that contains parameters, usually the constructor initializes the instance variables with those parameters.
If you have a constructor that contains parameters and you want to subclass the class in question, you either need to 1) create matching constructor(s) in the subclass or 2) create an additional no arg constructor.
If you don't have a constructor that contains parameters, you do not need to specify a constructor.
Java will create an invisible "default no arg constructor" for you.
When you create a new instance of your class, at least one constructor will be used.