Objects have one no-arg constructor. Init block is part of that constructor.
Eugen Pechanec
1

Technically you are correct, yes. But writing this is illegal:

object Whatever constructor() {

}

The Kotlin compiler will show an error: “Constructors are not allowed for objects”. Because it can’t be invoked directly, the compiler doesn’t call it “constructor”.

The Kotlin documentation also makes a distinction between the primary constructor and initializer blocks. It’s all just a question of semantics I guess.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.