Junior
Чӣ тавр тағйирёбандаи статикӣ дар Kotlin эҷод кардан мумкин аст?
sobes.tech AI
Ҷавоб аз AI
В Kotlin нема директен еквивалент на клучната реч static од Јава. Наместо тоа, се користат:
companion object: За создавање на "статички" членови на класата (полја и методи). Тие се поврзани со класата, а не со конкретен примерок.- Функции и својства на ниво на пакет: Декларирани на највисоко ниво во фајлот (
Top-level declarations) и достапни од каде било без потреба од квалификација со името на класата.
Пример со companion object:
class MyClass {
companion object {
const val TAG = "MyClass" // Константа во време на компилација (као final static во Јава)
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или како декларација на пакет.