Sobes.tech
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 object sı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 val kullanın; ya companion object içinde ya da paket bildirimi olarak.