Junior
Как да създадете статична променлива в Kotlin?
sobes.tech AI
Отговор от AI
В Kotlin няма директен еквивалент на ключовата дума static от Java. Вместо това се използват:
companion object: За създаване на "статични" членове на класа (поля и методи). Те са свързани с класа, а не с конкретен екземпляр.- Функции и свойства на ниво пакет: Обявяват се на най-високо ниво във файла (
Top-level declarations) и са достъпни отвсякъде без необходимост от квалификация с името на класа.
Пример с companion object:
class MyClass {
companion object {
const val TAG = "MyClass" // Константа по време на компилация (като final static в Java)
var instanceCount = 0 // Променлива, свързана с класа
}
init {
instanceCount++
}
}
Пример с свойства на ниво пакет:
// В файла MyGlobals.kt
const val GLOBAL_CONST = "This is a global constant"
var globalCounter = 0
fun incrementGlobalCounter() {
globalCounter++
}
Различия и избор:
companion objectе подходящ за членове, логически свързани с класа.- Членовете на ниво пакет са полезни за общи помощни функции, константи или променливи, които не са свързани с конкретен клас.
- За константи по време на компилация използвайте
const valвътре вcompanion objectили като декларация на пакет.