Кроме усложнения кода есть эффект хуже, конструктор A вызывает метод объекта B в тот момент, когда поля объекта B еще не инициализированы. Пример 12.5-2 JLS является хорошей демонстрацией этой проблемы.
Я вижу, что на вход ничего не подаётся, а значит логику можно оптимизировать)
Ты прав, но это просто искусственный пример, чтобы показать как неожиданно могут себя вести наследуемые методы, и догадаться, что это не слишком хорошее решение
Ты прав, но это просто искусственный пример, чтобы показать как неожиданно могут себя вести наследуемые методы, и догадаться, что это не слишком хорошее решение
В спецификации есть отличные примеры этого поведения без некачественного кода через конструктор. Просто привыкают же к странному коду, потом так писать начинают, считая нормальным.