Junior
Kotlin'de nasıl statik bir değişken oluşturulur?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de Java'daki static anahtar kelimesinin doğrudan bir karşılığı yoktur. Bunun yerine şu yapılar kullanılır:
companion object: Sınıfın "statik" üyelerini (alanlar ve metodlar) oluşturmak için. Bunlar sınıfa bağlıdır, belirli bir örneğe değil.- Paket seviyesinde fonksiyonlar ve özellikler: Dosyanın en üst seviyesinde (
Top-level declarations) tanımlanır ve herhangi bir yerden sınıf adıyla nitelendirmeye gerek kalmadan erişilebilir.
companion object ile örnek:
class MyClass {
companion object {
const val TAG = "MyClass" // Derleme zamanında sabit (Java'daki final static gibi)
var instanceCount = 0 // Sınıfa bağlı değişken
}
init {
instanceCount++
}
}
Paket özellikleri ile örnek:
// MyGlobals.kt dosyasında
const val GLOBAL_CONST = "This is a global constant"
var globalCounter = 0
fun incrementGlobalCounter() {
globalCounter++
}
Farklar ve seçim:
companion objectsınıfla mantıksal olarak ilişkili üyeler için uygundur.- Paket üyeleri genel yardımcı fonksiyonlar, sabitler veya belirli bir sınıfa bağlı olmayan değişkenler için kullanışlıdır.
- Derleme zamanında sabitler için,
const valkullanın; yacompanion objectiçinde ya da paket bildirimi olarak.