Junior
Come creare una variabile statica in Kotlin?
sobes.tech AI
Risposta dell'AI
In Kotlin non esiste un equivalente diretto alla parola chiave static di Java. Al suo posto, si usano:
companion object: Per creare membri "statici" della classe (campi e metodi). Sono legati alla classe, non a un'istanza specifica.- Funzioni e proprietà di livello pacchetto: Dichiarate a livello superiore del file (
Top-level declarations) e accessibili ovunque senza la necessità di qualificare con il nome della classe.
Esempio con companion object:
class MyClass {
companion object {
const val TAG = "MyClass" // Costante di tempo di compilazione (come final static in Java)
var instanceCount = 0 // Variabile legata alla classe
}
init {
instanceCount++
}
}
Esempio con proprietà di livello pacchetto:
// Nel file MyGlobals.kt
const val GLOBAL_CONST = "This is a global constant"
var globalCounter = 0
fun incrementGlobalCounter() {
globalCounter++
}
Differenze e scelta:
companion objectè adatto per membri logicamente correlati alla classe.- I membri di livello pacchetto sono utili per utilità generali, costanti o variabili non legate a una classe specifica.
- Per costanti di tempo di compilazione, usa
const valall'interno dicompanion objecto come dichiarazione di pacchetto.