不带参数
public class Singleton private constructor() {
init { println("This ($this) is a singleton") }
private object Holder { val INSTANCE = Singleton() }
companion object {
val instance: Singleton by lazy { Holder.INSTANCE }
}
var b:String? = null
}
public class Singleton private constructor() {
init { println("This ($this) is a singleton") }
companion object {
val instance: = Singleton()
}
var b:String? = null
}
带参数
class Singleton private constructor(str: String) {
var string: String = str;
init {
println("str is $str")
println("string is $string")
}
companion object {
@Volatile
var instance: Singleton? = null
fun getInstance(c: String): Singleton {
if (instance == null) {
synchronized(Singleton::class) {
if (instance == null) {
instance = Singleton(c)
}
}
}
return instance!!
}
}
}
作者:JokAr_
链接:https://www.jianshu.com/p/d2bbe7b66d63
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。