If your class does not declare a constructor, javac will create a no-arg, do-nothing constructor for you. Then, when your subclass is initialized, it will call the generated no-op constructor, and life will be good.
However, if your class declares any constructor, javac will NOT make it for you. In this case, the constructor of the subclass must explicitly call the constructor of the parent class. Otherwise, you cannot initialize the members of the parent class, as mentioned above.
Kashif Q.
source share