In reply to Ayush_1:
Because f_base() calls super.f(). The
super. prefix means call
f() ignoring any overrides in the current derived class
der.
I think this question thread is very old and confusing. You should ask a new question starting from the beginning.