To avoid this type of error,
you should always provide a no-argument constructor if both of the following conditions are true:
1) Your class is not final (i.e., it can be subclassed);
2) You have provided any constructors with arguments
If you don't provide any constructors at all, a default no-argument constructor will be generated automatically, so no error would occur in this case.