Sobes.tech
Junior

Como criar uma variável estática em Kotlin?

sobes.tech IA

Resposta da IA

Em Kotlin não há um equivalente direto à palavra-chave static do Java. Em vez disso, usam-se:

  • companion object: Para criar membros "estáticos" da classe (campos e métodos). Eles estão ligados à classe, não a uma instância específica.
  • Funções e propriedades de pacote: Declaradas ao nível superior do arquivo (Top-level declarations) e acessíveis de qualquer lugar sem necessidade de qualificação pelo nome da classe.

Exemplo com companion object:

class MyClass {
    companion object {
        const val TAG = "MyClass" // Constante de tempo de compilação (como final static em Java)
        var instanceCount = 0 // Variável ligada à classe
    }

    init {
        instanceCount++
    }
}

Exemplo com propriedades de pacote:

// No arquivo MyGlobals.kt
const val GLOBAL_CONST = "This is a global constant"
var globalCounter = 0

fun incrementGlobalCounter() {
    globalCounter++
}

Diferenças e escolha:

  • companion object é adequado para membros logicamente relacionados à classe.
  • Membros de pacote são úteis para utilitários gerais, constantes ou variáveis não ligados a uma classe específica.
  • Para constantes de tempo de compilação, use const val dentro de companion object ou como declaração de pacote.