Sobes.tech
Junior — Middle

Hogyan lehet az egész osztályt Kotlinban statikusnak nyilvánítani, hogy ne legyen szükség példány létrehozására?

sobes.tech MI

Válasz az MI-től

Kotlinban nincs static kulcsszó, mint Java-ban, de több módja van annak, hogy osztálytagokat vagy az egész osztályt úgy deklaráljuk, hogy nem szükséges példányt létrehozni:

  1. Object (object) — egy singleton objektum deklarálása, amely egyszer inicializálódik és név szerint elérhető:
object MySingleton {
    fun doSomething() {
        println("Helló a singletonból")
    }
}

// Használat
MySingleton.doSomething()
  1. companion object — statikus tagok deklarálása osztályon belül:
class MyClass {
    companion object {
        fun staticMethod() {
            println("Statikus metódus")
        }
    }
}

// Hívás
MyClass.staticMethod()
  1. top-level függvények és tulajdonságok — függvények és változók deklarálhatók osztályon kívül, fájl szinten statikusak.

Ha az egész osztály statikus legyen, és nem igényel példányt, általában az object-et használják.