Junior
Kotlin-də statik dəyişən necə yaradılır?
sobes.tech Süni İntellekt
AI-dan cavab
Kotlin-də Java-dakı static açar sözünün birbaşa ekvivalenti yoxdur. Əvəzinə, istifadə olunur:
companion object: Sinifin "statik" üzvlərini (sahələr və metodlar) yaratmaq üçün. Onlar sinifə bağlıdır, müəyyən bir nümunəyə deyil.- Paket səviyyəsində funksiyalar və xüsusiyyətlər: Faylın ən yuxarı səviyyəsində (
Top-level declarations) elan edilir və sinif adını kvalifikasiya etməyə ehtiyac olmadan hər yerdən əlçatan olur.
companion object ilə nümunə:
class MyClass {
companion object {
const val TAG = "MyClass" // Kompilyasiya vaxtı sabit (Java-dakı final static kimi)
var instanceCount = 0 // Siniflə əlaqəli dəyişən
}
init {
instanceCount++
}
}
Paket xüsusiyyətləri ilə nümunə:
// MyGlobals.kt faylında
const val GLOBAL_CONST = "This is a global constant"
var globalCounter = 0
fun incrementGlobalCounter() {
globalCounter++
}
Fərqlər və seçim:
companion objectsiniflə məntiqi əlaqəli üzvlər üçün uyğundur.- Paket üzvləri ümumi utilitlər, sabitlər və ya müəyyən sinfə bağlı olmayan dəyişənlər üçün əlverişlidir.
- Kompilyasiya vaxtı sabitlər üçün,
const valistifadə edin, yacompanion objectdaxilində, ya da paket bəyanatı kimi.