您的位置:宽带测速网 > 编程知识 > Kotlin单例模式怎样实现

Kotlin单例模式怎样实现

2025-07-04 10:04来源:互联网 [ ]

在 Kotlin 中实现单例模式有多种方法,这里我向您展示两种常用的实现方式:使用 object 声明和使用伴生对象(companion object)。

    使用 object 声明:
object Singleton {private var instance: Singleton? = nullfun getInstance(): Singleton {if (instance == null) {synchronized(this) {if (instance == null) {instance = Singleton()}}}return instance!!}// 在这里添加您的其他方法和属性}

使用示例:

val singleton1 = Singleton.getInstance()val singleton2 = Singleton.getInstance()// 检查两个实例是否相同println(singleton1 === singleton2) // 输出 true
    使用伴生对象(companion object):
class Singleton {companion object {private var instance: Singleton? = nullfun getInstance(): Singleton {if (instance == null) {synchronized(Singleton::class.java) {if (instance == null) {instance = Singleton()}}}return instance!!}// 在这里添加您的其他方法和属性}}

使用示例:

val singleton1 = Singleton.getInstance()val singleton2 = Singleton.getInstance()// 检查两个实例是否相同println(singleton1 === singleton2) // 输出 true

这两种方法都可以实现 Kotlin 中的单例模式。请注意,在多线程环境下,为了避免同步带来的性能问题,可以考虑使用双重检查锁定(Double-Checked Locking)模式。