Junior
Kotlinде статикалык өзгөрмө кантип түзүлөт?
sobes.tech AI
AIден жооп
Котлинде Javaнын static ачкыч сөзүнүн түз эквиваленти жок. Анын ордуна колдонулат:
companion object: Класстын "статикалык" мүчөлөрүн ( талаалар жана методдор) түзүү үчүн. Алар класс менен байланыштуу, конкреттүү нускамадан эмес.- Пакет деңгээлиндеги функциялар жана мүнөздөмөлөр: Файлдын жогорку деңгээлинде (
Top-level declarations) жарыяланат жана класс атын квалификациялоого муктаж болбостон, каалаган жерден жеткиликтүү.
companion object менен мисал:
class MyClass {
companion object {
const val TAG = "MyClass" // Компиляция убакытындагы туруктуу (Javaда 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ичинде же пакет декларациясы катары пайдаланыңыз.