Egor Lunichkin, 395, Parallel

Рекомендуется конструктор всегда делать легковесным, чтобы он содержал исключительно инициализацию начального состояния, а всю логику выносить в методы. Например, такой конструктор не позволит использовать прокси на класс (cglib), будет намного сложнее использовать dependency injection библиотеки, когда захочется, сложнее делать заглушки для тестов, сложнее будет поменять логику при наследовании. Более того, я вам рассказывал, почему опасно вызывать не final методы в конструкторе.