Junior
Jak vytvořit statickou proměnnou v Kotlinu?
sobes.tech AI
Odpověď od AI
V Kotlinu neexistuje přímý ekvivalent klíčového slova static z Javy. Místo toho se používají:
companion object: Pro vytváření "statických" členů třídy (polí a metod). Jsou vázány na třídu, nikoliv na konkrétní instanci.- Funkce a vlastnosti na úrovni balíčku: Deklarují se na nejvyšší úrovni souboru (
Top-level declarations) a jsou dostupné odkudkoliv bez nutnosti kvalifikace názvem třídy.
Příklad s companion object:
class MyClass {
companion object {
const val TAG = "MyClass" // Konstantní hodnota při kompilaci (jako final static v Javě)
var instanceCount = 0 // Proměnná spojená s třídou
}
init {
instanceCount++
}
}
Příklad s vlastnostmi na úrovni balíčku:
// V souboru MyGlobals.kt
const val GLOBAL_CONST = "This is a global constant"
var globalCounter = 0
fun incrementGlobalCounter() {
globalCounter++
}
Rozdíly a volba:
companion objectje vhodný pro členy, které jsou logicky spojeny s třídou.- Členové na úrovni balíčku jsou užiteční pro obecné utility, konstanty nebo proměnné, které nejsou spojeny s konkrétní třídou.
- Pro konstanty při kompilaci používejte
const valuvnitřcompanion objectnebo jako deklaraci balíčku.