Constructors are never inherited from superclasses (abstract or not). But you can always refer to a superclass constructor like this:
explicit call to super in subclass's constructor
You don't have to make this explicit call.
If there is no call to either this or super in subclass's constructor, then the compiler puts in a call to the no-argument constructor in the parent. Thus, in this case, the explicit call is superfluous (even though it doesn't harm...)
So the code below runs well:
Output: Z
The case you need to make an explicit call: if you try to extend an class [B]tht does not have a no-argument constructor, then you must explicitly call super() with one of the argument forms that are supported by constructors in the parent class:
so this will not compile (no no-arg constructor in Z):
whereas this will compile and run:
SCJP 1.4, SCWCD, SCBCD, IBM XML, IBM Websphere 285, IBM Websphere 287