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

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

Ответ

В Kotlin все классы неявно наследуются от Any, который является аналогом Object в Java.

class MyClass // неявно: class MyClass : Any()

Ключевые особенности Any:

  • Содержит базовые методы: toString(), equals(), hashCode()
  • Не является null (в отличие от Java, где Object может быть null)
  • Для nullable-типов используется Any?

Пример:

val any: Any = "String" // Любой тип может быть приведен к Any
println(any.hashCode()) // Вызов метода из Any

Для JVM Any компилируется в java.lang.Object.