Я не знаю, как это сделать с помощью метода.
Однако обратите внимание, что именно так работают конструкторы. Каждый конструктор должен прямо или косвенно вызывать один из конструкторов своего суперкласса. Это статически гарантировано.
Замечу, что вы пишете метод init. Не могли бы вы сделать рефакторинг так, чтобы ваш код использовал конструкторы, а не методы init? Это дало бы вам такое поведение прямо из ворот. Некоторые люди (например, я) предпочитают, чтобы конструкторы так или иначе инициировали методы, частично по этой причине.
Обратите внимание, что использование конструкторов, а не методов init, может не означать их использование в классе, который вы просматриваете в настоящее время - может быть рефакторинг, который перемещает состояние, нуждающееся в инициализации, в параллельную иерархию классов, которая может использовать правильные конструкторы. 1007 *