单例不同的语言下的要求大体一致。
Kotlin下的单例是通过companion实现的。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
class KCacheMgr private constructor (){
companion object {
@Volatile
var sharedCacheMgr: KCacheMgr? = null
fun getInstance(): KCacheMgr {
if (sharedCacheMgr == null) {
synchronized(KCacheMgr::class) {
if (sharedCacheMgr == null) {
sharedCacheMgr = KCacheMgr()
}
}
}
return sharedCacheMgr!!
}
}
}
|
文章作者
梵梵爸
上次更新
2017-12-19
许可协议
原创文章,如需转载请注明文章作者和出处。谢谢