Sobes.tech
Junior — Middle

Какви са начините да обявите цял клас в Kotlin като статичен, така че да не изисква създаване на екземпляр?

sobes.tech AI

Отговор от AI

В Kotlin няма ключовата дума static, както в Java, но има няколко начина да обявите членове на клас или цял клас по такъв начин, че да не е необходимо да създавате екземпляр:

  1. Object (object) — декларация на singleton обект, който се инициализира веднъж и е достъпен по име:
object MySingleton {
    fun doSomething() {
        println("Здравей от singleton")
    }
}

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

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

Ако искате цялата класа да бъде статична и да не изисква създаване на екземпляр, обикновено използвайте object.