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:
- 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()
- 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()
- 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.