Kotlin
Объекты Singleton
Поиск…
Вступление
Объектом является особый вид класса, который может быть объявлен с использованием ключевого слова object
. Объекты похожи на Singletons (шаблон дизайна) в java. Он также функционирует как статическая часть java. Начинающие, которые переключаются с java на kotlin, могут широко использовать эту функцию вместо статических или синглетонов.
Использовать в качестве репликации статических методов / полей java
object CommonUtils {
var anyname: String ="Hello"
fun dispMsg(message: String) {
println(message)
}
}
Из любого другого класса просто вызовите переменную и функции следующим образом:
CommonUtils.anyname
CommonUtils.dispMsg("like static call")
Использовать в качестве одноэлементного
Объекты Котлина на самом деле представляют собой только одноточие. Его основным преимуществом является то, что вам не нужно использовать SomeSingleton.INSTANCE
чтобы получить экземпляр singleton.
В java ваш синглтон выглядит следующим образом:
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");
}
В котлине эквивалентный код
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")
}
Это obvoiusly менее подробный для использования.
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow