Can you explain why b is outputted and not bn as well? The subclass constructors output is logical. The constructor of subclass is called with argument in main.
When this(); is called on line 12 it calls the constructor on line 10 This constructor immediately calls the super class constructor because of the implicit call to super and that calls the constructor on line 4 . At no point is the constructor on line 5 invoked so "bn" is never printed out.