От какого класса неявно наследуются все классы в Kotlin?

Ответ

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

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

  • Содержит три базовых метода: equals(), hashCode() и toString().
  • Это класс, а не интерфейс.
  • Примитивные типы (например, Int, Double) также наследуют от Any.
  • Для nullable-типов используется Any?.

Пример:

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

fun main() {
    val obj = MyClass()
    println(obj.toString()) // Вызывается реализация из Any
    println(obj is Any)    // true
}

Ответ 18+ 🔞

А, слушай, смотри, тут про Котлин, блядь. Ну, типа, все эти твои классы, которые ты там наваял, они все, сука, неявно от одного предка прутся. Как в той семье, где папаша один, а дети — дохуя. И папаша этот — Any, ёпта. Это типа наш, местный Object из Явы, только по-своему, по-котлиновски, блядь.

Чем этот Any такой особенный, блядь:

  • У него три кита, на которых всё держится: equals(), hashCode() и toString(). Без них нихуя не работает нормально.
  • Он именно класс, ёбаный в рот, а не интерфейс какой-нибудь. Так что наследуйся — не хочу.
  • Даже примитивы, эти твои Int и Double, — они тоже от него, блядь, происходят. Всё едино, всё в семье.
  • А если ты любитель вопросиков и nullable-типы, то там уже Any? будет, ядрёна вошь. Учтёны все варианты, чтоб нихуя не упало.

Ну, смотри, как это выглядит на практике, в рот меня чих-пых:

class MyClass // На самом деле тут невидимо: class MyClass : Any()

fun main() {
    val obj = MyClass()
    println(obj.toString()) // Работает метод от папаши Any
    println(obj is Any)    // true, ёбана, конечно true, он же от него!
}

Вот и вся магия, блядь. Ничего сложного, но знать надо, а то будешь как Герасим — «Му-му» говорить, а нихуя не понимать, откуда ноги растут.