Sobes.tech
Junior — Middle

Quais são as maneiras de declarar toda uma classe em Kotlin como estática, para que ela não exija a criação de uma instância?

sobes.tech IA

Resposta da IA

No Kotlin, não existe a palavra-chave static como no Java, mas há várias formas de declarar membros de classe ou toda a classe de modo que não seja necessário criar uma instância:

  1. Objeto (object) — declaração de um singleton que é inicializado uma vez e está disponível pelo nome:
object MeuSingleton {
    fun fazerAlgo() {
        println("Olá do singleton")
    }
}

// Uso
MeuSingleton.fazerAlgo()
  1. companion object — para declarar membros estáticos dentro de uma classe:
class MinhaClasse {
    companion object {
        fun metodoEstatico() {
            println("Método estático")
        }
    }
}

// Chamada
MinhaClasse.metodoEstatico()
  1. funções e propriedades de nível superior — funções e variáveis podem ser declaradas fora da classe, sendo estáticas ao nível do arquivo.

Se desejar que toda a classe seja estática e não exija criar uma instância, geralmente usa-se object.