Какой класс — подкласс для всех в Kotlin

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

Ответ

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

Основные методы Any:

open class Any {
    open fun equals(other: Any?): Boolean
    open fun hashCode(): Int
    open fun toString(): String
}

Пример:

class MyClass // неявно наследуется от Any

val obj: Any = MyClass() // корректно

Примечание: для nullable-типов корневым классом является Any?.