Class Z doesn't define a constructor that takes a String, like it's parent class. Nor does it call the parent's constructor explicitly, with super("someString") from it's no args constructor.
The 2 examples below show what I mean.
The long story is that, before an object is constructed, it's parent must be constructed. This will go on and on all the way up to Object, everybody's daddy. This happens either automatically or explicitly, automatically if you supply a matching constructor and explicitly if you don't, as the 2 examples show. You constructor can also call another one within the same class which in turn matches one in the parent. You'll have to play around with this a little.