不帶參數
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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯繫作者獲得授權並註明出處。