TGViewer
Android Live 🤖 Android Live 🤖 @android_live · 5.12K subscribers
Post #943 4.18K
​​Object expressions и declarations
#kotlin

Недавно обнаружил для себя несколько интересных применений object в Kotlin. Как ни странно, обо всех сказано в официальной документации, но на практике я не часто встречал их применение.

1️⃣Создание анонимного класса с нуля. Вдруг у вас будут кейсы (если подскажите, какие, то буду рад), когда вам необходимо создать объект с нуля без объявления класса. Вот пример:
val helloWorld = object {
val hello = "Hello"
val world = "World"
// object expressions extend Any, so override is required on toString()
override fun toString() = "$hello $world"
}


А ещё можно сделать вот такие мудрёные конструкции:
open class A(x: Int) {
public open val y: Int = x
}

interface B { /*...*/ }

val ab: A = object : A(1), B {
override val y = 15
}


2️⃣ Object как Singleton — довольно распространённый кейс, когда вы делаете аналог синглтона Java в Kotlin.

3️⃣ Data objects — экспериментальная, но любопытная фича, позволяющая делать так:
data object MyObject

fun main() {
println(MyObject) // MyObject
}


А посмотреть все применения Object можно как раз в статье. 🤓
  • 👍 12
More from @android_live
  1. Sep 29, 2026Post #1130
  2. Sep 29, 2026На днях попалась вакансия мечты Вроде всё начинается как неплохо: удалёнка, Kotlin/Jetpack…
  3. Sep 28, 2026На днях ревьювил код, связанный с копированием в буфер обмена И заметил, что многие прилож…
  4. Sep 26, 2026AirDrop на Android, похоже, уже есть на нескольких моделях Android Но, оказывается, всё эт…
  5. Sep 25, 2026Похоже, есть что посмотреть на выходных Недавно вышло интервью с Женей Вороновым Jake Whar…
  6. Sep 15, 2026Google выкатили ARTEMIS Эта инструмент, который превращает обычный текст в реальные действ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →