super()
завершается, когда возвращается вызов super()
(то же самое относится и к любому другому вызову метода).
Если вы вызываете его явно в соответствии с вашим примером, то super()
завершил выполнение, когда была достигнута строка сразу после вызова super()
. Если вы позволяете ему вызываться неявно, то super()
завершится к тому времени, когда выполнение достигнет первой строки в вашем конструкторе.
Конечно, это может быть тот случай, когда super()
порождает один или несколько фоновых потоков, которые выполняют различные задачи и которые все еще выполняются в тот момент, когда возвращается вызов super()
. Но это действительно не имеет ничего общего с звонком на super()
. В таком случае время, когда другие задачи завершаются, не имеет ничего общего со временем, когда завершается вызов super()
.