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:
- 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()
- companion object — do deklarowania statycznych członków wewnątrz klasy:
class MyClass {
companion object {
fun staticMethod() {
println("Metoda statyczna")
}
}
}
// Wywołanie
MyClass.staticMethod()
- 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.