Was entspricht einem statischen Initialisierungsblock in Kotlin?
Ich verstehe, dass Kotlin so konzipiert ist, dass es keine statischen Dinge enthält. Ich suche etwas mit äquivalenter Semantik - Code wird einmal ausgeführt, wenn die Klasse zum ersten Mal geladen wird.
Mein spezieller Anwendungsfall ist, dass ich die DayNight-Funktion aus der Android AppCompat-Bibliothek aktivieren möchte und die Anweisungen besagen, dass Code in den statischen Initialisierungsblock der Application
Klasse eingefügt werden soll .
quelle
object
Deklaration erfordert, dass sie aufgrund der verzögerten Initialisierung tatsächlich irgendwo verwendet wird.companion object { // Example for a static variable internal var REQUEST_CODE: Int? = 500 // Example for a static method fun callToCheck(value: String): String { // your code } }
Eine Objektdeklaration innerhalb einer Klasse kann mit dem Companion-Schlüsselwort markiert werden. Darunter können wir wie die statische Java-Methode und die Variable.LIke classname.methodname oder classname.variablename verwenden
quelle