Kotlin
Singleton-Objekte
Suche…
Einführung
Ein Objekt ist eine spezielle Klasse, die mit object
deklariert werden kann. Objekte ähneln Singletons (einem Designmuster) in Java. Es funktioniert auch als statischer Teil von Java. Anfänger, die von Java zu Kotlin wechseln, können diese Funktion anstelle von statischen oder Singletons verwenden.
Verwendung als Repalcement von statischen Methoden / Java-Feldern
object CommonUtils {
var anyname: String ="Hello"
fun dispMsg(message: String) {
println(message)
}
}
Rufen Sie aus jeder anderen Klasse die Variable und die Funktionen auf folgende Weise auf:
CommonUtils.anyname
CommonUtils.dispMsg("like static call")
Verwenden Sie als Singleton
Kotlin-Objekte sind eigentlich nur Singletons. Sein Hauptvorteil besteht darin, dass Sie SomeSingleton.INSTANCE
nicht verwenden SomeSingleton.INSTANCE
, um die Instanz des Singleton zu erhalten.
In Java sieht Ihr Singleton so aus:
public enum SharedRegistry {
INSTANCE;
public void register(String key, Object thing) {}
}
public static void main(String[] args) {
SharedRegistry.INSTANCE.register("a", "apple");
SharedRegistry.INSTANCE.register("b", "boy");
SharedRegistry.INSTANCE.register("c", "cat");
SharedRegistry.INSTANCE.register("d", "dog");
}
In Kotlin lautet der entsprechende Code
object SharedRegistry {
fun register(key: String, thing: Object) {}
}
fun main(Array<String> args) {
SharedRegistry.register("a", "apple")
SharedRegistry.register("b", "boy")
SharedRegistry.register("c", "cat")
SharedRegistry.register("d", "dog")
}
Es ist obvoiusly weniger ausführlich zu verwenden.
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow