Явное наследование от Any в Kotlin – Can и как это делается?

В документации Котлина говорится, что

Все классы в Kotlin имеют общий суперкласс All, то есть супер супер для класса без объявленных супертипов

Если я попробую и явно наследую от Any:

class MyClass : Any { } 

Компилятор дает ошибку:

Kotlin: Этот тип имеет конструктор и поэтому должен быть инициализирован здесь

Я не смог найти документацию для класса Any. Можно ли явно наследовать от Any, и если да, то чем вы его передаете?

Вы должны явно вызвать конструктор:

 class MyClass : Any() 

Конструктор Any не имеет параметров, поэтому для его вызова вы просто предоставляете пустые круглые скобки

Если мы расширяем класс, нам нужно добавить скобки (для неявного конструктора)

 class MyClass : Any() 

Это похоже на вызов

  class MyClass extends Any { MyClass() { super(); } } 

Но если мы реализуем интерфейс (у интерфейса нет конструкторов), синтаксис должен быть следующим

  class MyClass : BaseInterface