The base class constructor is called from the implicitly placed super() in the child's constructor. I hope you understand this.
When the super class constructor, the object in creation is the child class object. So in the super class constructor, when you try to call an overridden method, the method present in the actual object will be called.
Try marking the super class method as either final or private and note the difference.
We had a recent discussion on this topic. I will get that
thread for you.