Sobes.tech
Junior — Middle

W jaki sposób można zadeklarować całą klasę w Kotlinie jako statyczną, aby nie wymagała tworzenia instancji?

sobes.tech AI

Odpowiedź od AI

W Kotlinie nie ma słowa kluczowego static jak w Javie, ale istnieje kilka sposobów na zadeklarowanie członków klasy lub całej klasy tak, aby nie trzeba było tworzyć instancji:

  1. Object (object) — deklaracja singletona, który jest inicjalizowany raz i dostępny po nazwie:
object MySingleton {
    fun doSomething() {
        println("Witaj z singletona")
    }
}

// Użycie
MySingleton.doSomething()
  1. companion object — do deklarowania statycznych członków wewnątrz klasy:
class MyClass {
    companion object {
        fun staticMethod() {
            println("Metoda statyczna")
        }
    }
}

// Wywołanie
MyClass.staticMethod()
  1. funkcje i właściwości na poziomie pliku — można deklarować funkcje i zmienne poza klasą, będą statyczne na poziomie pliku.

Jeśli chcesz, aby cała klasa była statyczna i nie wymagała tworzenia instancji, zwykle używa się object.