當前位置:
首頁 > 最新 > Kotlin 關鍵字 object 的用法

Kotlin 關鍵字 object 的用法

問題:在 Java 中會經常使用單例對象,有時候還要求單例對象是線程安全的,創建單例對象需要編寫不少代碼。

那麼, Kotlin 中是如何創建單例對象的呢? 答案是 關鍵字。

object 關鍵字

Kotlin 使用 來創建類,使用 來創建單例對象。下面是一個最簡單的單例對象和使用單例對象的例子:

抽象類或者介面實現單例

也可以實現一個介面或者成為父類的子類,這樣創建的對象就是實現了某個介面的單例對象了。比如:

上面類似於 Java 中的匿名內部類。

當然也可以定義帶有名字的單例:

伴生對象(Companion Object)

當我們想把 作為靜態變數暴露給其他地方使用的時候,需要使用伴生對象了,如下:

關於上面代碼的幾點說明:

由於 Application 是系統來創建的,所以我們沒法直接把該對象變成一個單例

如果像把 Application 示例通過靜態方法暴露出去,則需要使用 ,類似於 Java 中的靜態變數

在伴生對象中定義了一個 變數, 變數是稍後初始化的 App 類型的對象,由於位於 伴生對象 中,所以是個單例,等價於 Java 中的靜態變數定義

在 中給 變數賦值為 當前 的 App 對象

注意伴生對象中的 定義,默認情況下 Kotlin 中的 Field 都自動帶有一個公開的賦值和讀取函數,類似於 Java bean 中的 和 函數。上面的 重新定義了 函數為 私有類型的,這樣在其他地方就只能讀取 變數而無法修改這個變數,防止該變數被其他人修改從而實現單例的目的。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲在千峰 的精彩文章:

TAG:雲在千峰 |