請教Kotlin如何寫單例模式?

時間 2021-05-31 18:59:38

1樓:風格魚

最簡單的

class SingletonTest2 private constructor()

比較推薦的一種無引數的實現延遲載入執行緒安全class SingletonTest private constructor()}}

2樓:

funmain

(args

:Array

>)enum

class

Instance

funfun2

():Any?}

我覺得這樣就好了,什麼懶載入,雙重什麼什麼,什麼什麼的

3樓:高先生

我覺得這樣也可以

class

RemoteService

}fun

getInstance

():RemoteService

}通過測試,使用方法RemoteService().getInstance()

for(iin

1..4)執行緒名為$---所對應物件"

+RemoteService

().getInstance

())}).

start()}

在log中輸出如下

System.out: 當前是3執行緒名為Thread-5---所對應物件com.

xlaboratory.newarchitecture.engine.

RemoteService@7affb34

System.out: 當前是2執行緒名為Thread-4---所對應物件com.

xlaboratory.newarchitecture.engine.

RemoteService@7affb34

System.out: 當前是4執行緒名為Thread-6---所對應物件com.

xlaboratory.newarchitecture.engine.

RemoteService@7affb34

System.out: 當前是1執行緒名為Thread-3---所對應物件com.

xlaboratory.newarchitecture.engine.

RemoteService@7affb34

可見輸出的物件是同乙個

4樓:暴走小芒果

fun instance() = instanceoverride fun onCreatesuper.onCreateinstance = this}}

5樓:Joby

object

DataProviderManager

valallDataProviders

:Collection

>get()

=// ...

}上面就是 Kotlin 的乙個單列模式

具體可以參考 Kotlin 的官方文件 Object Expressions and Declarations

如何寫專利?

創新加加 撰寫這項工作所需要的專業知識太多,除了學習的目的以外,不建議一上來就自己寫,還是先從自己熟悉的專業開始學習吧,先掌握基本框架和邏輯再慢慢提高吧。 耳朵 可以參考下這個帖子,明白下各項規定,然後就可開寫了。其實挺無聊的,很多複製貼上 指的是複製貼上自己的東西 還是做東西的過程比較有趣。 這個...

如何寫散文

好的 一方我出生於這個地方,但不常住。以至於我對這一方土地並無多少耳聞的故事。夏天,待會到家時要叫阿婆。這是我返鄉時父母總反覆強調的一句話,我記不清第一次叫阿婆是在何時,但在小時候,聽話照辦總歸不是一件壞事。我的阿婆很老,是與家中器木一同老去的,從我落地起,這些器木不知在度過了個年頭,她最喜歡放個小...

如何寫小楷?

翁浩澤 其實古字是又扁又矮的,和現在又高又瘦的字是不一樣的,所以你可以發現你的字一直再改變,我也在一點點的學習,但其實最好不要馬上用太細的毛筆,用那種中的粗的再練,把字練紮實再慢慢把字臉小 龍蟲並雕齋 小楷並不是大字的縮小,能寫幾筆大字並不代表能寫小楷。大字小楷側重點是完全相反的,想練小楷可以臨趙孟...