Sobes.tech
Junior — Middle

Akými spôsobmi možno v Kotlin oznámiť celú triedu ako statickú, aby nevyžadovala vytvorenie inštancie?

sobes.tech AI

Odpoveď od AI

V Kotlinu ne obstaja ključna beseda static kot v Javi, vendar obstaja več načinov za deklaracijo članov razreda ali celotnega razreda tako, da ni potrebno ustvarjati instanco:

  1. Object (object) — deklaracija singleton objekta, ki se inicializira enkrat in je dostopen po imenu:
object MojSingleton {
    fun narediNeko() {
        println("Pozdrav od singletona")
    }
}

// Uporaba
MojSingleton.narediNeko()
  1. companion object — za deklaracijo statičnih članov znotraj razreda:
class MojRazred {
    companion object {
        fun statičnaMetoda() {
            println("Statična metoda")
        }
    }
}

// Klic
MojRazred.statičnaMetoda()
  1. top-level funkcije in lastnosti — funkcije in spremenljivke je mogoče deklarirati zunaj razreda, bodo statične na ravni datoteke.

Če želite, da je cel razred statičen in ne zahteva ustvarjanja instance, običajno uporabite object.