Sobes.tech
Junior

Wie erstellt man eine statische Variable in Kotlin?

sobes.tech KI

Antwort von AI

In Kotlin gibt es kein direktes Äquivalent zum Schlüsselwort static aus Java. Stattdessen werden verwendet:

  • companion object: Um "statische" Mitglieder der Klasse zu erstellen (Felder und Methoden). Sie sind an die Klasse gebunden, nicht an eine bestimmte Instanz.
  • Paketfunktionen und -eigenschaften: Werden auf oberster Ebene der Datei deklariert (Top-level declarations) und sind von überall aus zugänglich, ohne die Notwendigkeit, sie mit dem Klassennamen zu qualifizieren.

Beispiel mit companion object:

class MyClass {
    companion object {
        const val TAG = "MyClass" // Konstante zur Kompilierungszeit (wie final static in Java)
        var instanceCount = 0 // Variable, die mit der Klasse verbunden ist
    }

    init {
        instanceCount++
    }
}

Beispiel mit Paket-Eigenschaften:

// In der Datei MyGlobals.kt
const val GLOBAL_CONST = "This is a global constant"
var globalCounter = 0

fun incrementGlobalCounter() {
    globalCounter++
}

Unterschiede und Auswahl:

  • companion object eignet sich für Mitglieder, die logisch mit der Klasse verbunden sind.
  • Paketmitglieder sind praktisch für allgemeine Hilfsprogramme, Konstanten oder Variablen, die nicht an eine bestimmte Klasse gebunden sind.
  • Für Konstanten zur Kompilierungszeit verwenden Sie const val innerhalb des companion object oder als Paketdeklaration.