Вызывать абстрактный метод из конструктора базового класса не всегда нормально. 4 Это может привести к ошибкам, так как метод будет пытаться обращаться к полям, которые ещё не проинициализированы. 4
Безопасно вызывать из конструктора только final методы из базового класса. 1 Они не могут быть переопределены и не преподнесут сюрпризов. 1
Однако в некоторых случаях вызов абстрактного метода из конструктора базового класса может быть целесообразным, например, когда нужно вынести в него дополнительную инициализацию, чтобы список параметров конструктора определялся только в одном месте в коде. 2 В этом случае важно, чтобы в абстрактном методе не было сайд-эффектов, а только инициализация состояния объекта. 2
Таким образом, решение о вызове абстрактного метода из конструктора базового класса должно приниматься с учётом конкретной ситуации и возможных последствий такого решения.