Кто является родителем всех классов в Kotlin

«Кто является родителем всех классов в Kotlin» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Все классы в 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 они разные типы.