Junior
Ako vytvoriť statickú premennú v Kotlin?
sobes.tech AI
Odpoveď od AI
V Kotlinu neexistuje priama ekvivalent ključne besede static iz Jave. Namesto 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.