Sobes.tech
Назад к вопросам
Junior — Middle
72

Какими способами можно объявить весь класс в Kotlin как статический, чтобы он не требовал создания экземпляра?

Ответ от нейросети

sobes.tech AI

В Kotlin нет ключевого слова static, как в Java, но есть несколько способов объявить члены класса или весь класс так, чтобы не требовалось создавать экземпляр:

  1. Объект (object) — объявление объекта-синглтона, который инициализируется один раз и доступен по имени:
object MySingleton {
    fun doSomething() {
        println("Hello from singleton")
    }
}

// Использование
MySingleton.doSomething()
  1. companion object — для объявления статических членов внутри класса:
class MyClass {
    companion object {
        fun staticMethod() {
            println("Static method")
        }
    }
}

// Вызов
MyClass.staticMethod()
  1. top-level функции и свойства — можно объявлять функции и переменные вне класса, они будут статическими на уровне файла.

Если нужно, чтобы весь класс был статическим и не требовал создания экземпляра, обычно используют object.