用作单例
Kotlin 对象实际上只是单例。它的主要优点是你不必使用 SomeSingleton.INSTANCE
来获取单例的实例。
在 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");
}
在 kotlin 中,等效代码是
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")
}
使用起来,它显然不那么冗长。