Sobes.tech
Junior

¿Cómo crear una variable estática en Kotlin?

sobes.tech AI

Respuesta de la IA

En Kotlin no hay un equivalente directo a la palabra clave static de Java. En su lugar, se utilizan:

  • companion object: Para crear miembros "estáticos" de la clase (campos y métodos). Están vinculados a la clase, no a una instancia específica.
  • Funciones y propiedades de paquete: Se declaran a nivel superior del archivo (Top-level declarations) y son accesibles desde cualquier lugar sin necesidad de calificación con el nombre de la clase.

Ejemplo con companion object:

class MyClass {
    companion object {
        const val TAG = "MyClass" // Constante en tiempo de compilación (como final static en Java)
        var instanceCount = 0 // Variable vinculada a la clase
    }

    init {
        instanceCount++
    }
}

Ejemplo con propiedades de paquete:

// En el archivo MyGlobals.kt
const val GLOBAL_CONST = "This is a global constant"
var globalCounter = 0

fun incrementGlobalCounter() {
    globalCounter++
}

Diferencias y elección:

  • companion object es adecuado para miembros lógicamente relacionados con la clase.
  • Los miembros de paquete son útiles para utilidades generales, constantes o variables no vinculadas a una clase específica.
  • Para constantes en tiempo de compilación, use const val dentro de companion object o como declaración de paquete.