Sobes.tech
Junior

Hoe maak je een statische variabele in Kotlin?

sobes.tech AI

Antwoord van AI

In Kotlin is er geen directe equivalent van het static sleutelwoord uit Java. In plaats daarvan worden gebruikt:

  • companion object: Om "statische" leden van een klasse te maken (velden en methoden). Ze zijn gekoppeld aan de klasse, niet aan een specifiek exemplaar.
  • Functies en eigenschappen op pakketniveau: Gekenmerkt op het hoogste niveau van het bestand (Top-level declarations) en toegankelijk vanaf elke plek zonder kwalificatie met de naam van de klasse.

Voorbeeld met companion object:

class MyClass {
    companion object {
        const val TAG = "MyClass" // Constante op compileertijd (zoals final static in Java)
        var instanceCount = 0 // Variabele gekoppeld aan de klasse
    }

    init {
        instanceCount++
    }
}

Voorbeeld met pakket-eigenschappen:

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

fun incrementGlobalCounter() {
    globalCounter++
}

Verschillen en keuze:

  • companion object is geschikt voor leden die logisch verbonden zijn met de klasse.
  • Pakketleden zijn handig voor algemene hulpfuncties, constanten of variabelen die niet aan een specifieke klasse zijn gekoppeld.
  • Voor compileertijd constants, gebruik const val binnen companion object of als pakketverklaring.