According to the Java tutorial on constructors:
You don\'t have to provide any constructors for your class, but you must be careful when doing this.
So when will the superclass not have a no-argument constructor?
If you add any other constructor of superclass but forget to add no-arg constructor the compiler will complain. In this case the default constructor of superclass is not provided.