Junior
Kako napraviti statičku promenljivu u Kotlinu?
sobes.tech АИ
Одговор од АИ
U Kotlinu ne postoji direktan ekvivalent ključne reči static iz Jave. Umesto toga, koriste se:
companion object: Za kreiranje "statickih" članova klase (polja i metoda). Oni su povezani sa klasom, a ne sa konkretnim primerkom.- Funkcije i svojstva na nivou paketa: Deklarišu se na najvišem nivou fajla (
Top-level declarations) i dostupni su od bilo gde bez potrebe za kvalifikacijom imena klase.
Primer sa companion object:
class MyClass {
companion object {
const val TAG = "MyClass" // Konstantna vrednost u vreme kompajliranja (kao final static u Javi)
var instanceCount = 0 // Promenljiva povezana sa klasom
}
init {
instanceCount++
}
}
Primer sa svojstvima na nivou paketa:
// U fajlu MyGlobals.kt
const val GLOBAL_CONST = "This is a global constant"
var globalCounter = 0
fun incrementGlobalCounter() {
globalCounter++
}
Razlike i izbor:
companion objectje pogodan za članove koji su logički povezani sa klasom.- Članovi na nivou paketa su korisni za opšte pomoćne funkcije, konstante ili promenljive koje nisu povezane sa konkretnom klasom.
- Za konstante u vreme kompajliranja koristite
const valunutarcompanion objectili kao deklaraciju paketa.