I think this makes sense. The rule you mention is simply saying that there can be no statements in a constructor before an explicit call to it's superclass constructor. Obviously with implicit calls such as you have here, you can't anyway because the call is made automatically before the first statement executes.
Originally posted by Scott Ramsay I don't get it. This means that the subclass has had an instance method called and an instance variable initialized BEFORE its constructor is even called!
As is implied by Pete's response the statement above is not actually true. The constructor of the subclass is invoked by new SubClass(). The first thing that the subclass constructor does is to implicitly invoke the superclass constructor.
It would be correct to say that the subclass has an instance method called before its constructor returns. This is a legal, if peculiar, case.