Ответ
Все классы в Kotlin неявно наследуются от Any, который является корневым суперклассом. Это аналог Object в Java, но с некоторыми отличиями. Any содержит три метода: equals(), hashCode() и toString().
Пример:
class MyClass // неявно наследуется от Any
val obj: Any = MyClass() // корректно, так как Any — родитель
Важно: Any не является java.lang.Object. При компиляции в JVM Kotlin преобразует Any в Object, но в коде Kotlin они разные типы.
Ответ 18+ 🔞
А, слушай, про это Any в Котлине — история вообще отдельная, ебать мои старые костыли. Ну, смотри, чтобы ты не охуел сразу.
Представь себе такую картину: у тебя есть какой-нибудь класс, самый простой, который ты на коленке написал.
class MyClass // неявно наследуется от Any
Вот этот твой MyClass — он не сирота, ёпта. Он не в вакууме болтается. Он по умолчанию, тихо так, по-хамски, наследуется от какого-то деда по имени Any. Это типа как если бы ты родился и у тебя автоматически был бы один общий предок со всеми людьми на планете. Все классы в Котлине — его дети. Без вариантов.
И этот дед Any — он не просто так сидит, бороду почёсывает. У него есть три заветных метода, которые он всем своим детям передаёт: equals(), hashCode() и toString(). То есть даже если ты в своём классе нихуя не написал, ты уже можешь сравнивать объекты, получать их хеш-код и в строку превращать. Удобно, чё.
val obj: Any = MyClass() // корректно, так как Any — родитель
Вот смотри, тут вся соль. Ты можешь запихнуть свой MyClass в переменную типа Any. Потому что Any — это верховный главнокомандующий, он всех поотцовски принимает. Это полиморфизм, детка, основа основ.
Но вот тут, бля, самое важное, где все путаются и потом волнение ебать испытывают. Any в Котлине — это НЕ java.lang.Object из Джавы. Они как братья-близнецы, но один живёт в Москве, а другой — в Питере. Похожи, но системы разные.
Когда твой Котлин-код компилируется под JVM, то компилятор, этот хитрая жопа, под капотом преобразует Any в старый добрый Object. Но для тебя, как для Котлин-разработчика, это разные, блядь, типы! В коде Котлина ты работаешь с Any, и это твоя реальность. Не путай, а то будет тебе хиросима.
Короче, запомни: Any — наш родной, котлиновый корень всего. Все от него, все к нему можно привести. А про его джавовское альтер-эго просто знай, но не забивай себе голову, пока в чистом Котлине сидишь. Всё, вопрос закрыт.