сразу скажу что я понимаю как переопределяются методы(что если метод в наследнике переопределён то вызываться будет он и что если метод приват в предке то он не наследуется)МНЕ НЕ ПОНЯТНО ВОТ ЧТО:если мы в конструкторе класса B вызываем конструктор класса A в виде super(f1) и во многих статьях пишется что это равнозначно new A(f1) ,то раз так, должна создаться ссылка на обьект класса А и тогда в конструкторе класса А мы обращаемся к полю f1 и к методу initialize() через ссылку this обьекта А и тогда метод должен вызываться у обьекта А и выводить 6,- ЭТО ДОКАЗЫВАЕТС ТОТ ФАКТ ЕСЛИ ЯВНО В КОНСТРУКТОРЕ КЛАССА B вызвать new A(f1)....ок ..Допустим super(f1) не создаёт ссылку на обьект класса А а принимает ссылку на обьект класса B которую мы создали ранее,тогда выходит что мы инициализируем this.f1 = f1 которая перешла по наследству обьетку B?и потом снова инициализируем эту f1 в контсрукторе класса B?