If a subclass constructor does not have an explicit call to a constructor of its direct superclass, then an attempt is made to call a constructor from the direct superclass which has no parameter list. [ June 24, 2006: Message edited by: Keith Lynn ]
If you subclass a class that does not have a no-argument constructor, you must also specify an explicit constructor of the subtype (with or without parameters). Let's look at a simpler example:
Class C meets the criteria above (does not have a no-argument constructor). Let's see what happens if you subclass it.
Compile-time error. Class T contains a default constructor, which, since it has no explicit call to super(...) or this(...), an explicit call to super() is made (this holds for all default constructors). Let's look at class T again, but with the implicit default constructor specified explicitly.
Note now that there is an explicit call to super(). The previous declaration of T also has this call, however, it is implicit. Note also that the constructor "super()" does not exist. Simply, there is not a no-argument constructor for type C (the superclass). This is why compilation fails. You should see an error message relating to the constructor invocation where the constructor does not exist.