白話kotlin: 簡單的理解 關鍵詞object

前言

在編寫代碼的過程中,我們常用面向?qū)ο蟮乃季S來組織與處理問題。

于是就有了類與對象的概念。
根據(jù)類的描述,我們可以實例化一個對象。

匿名類的實例化

直接說一個我們常見的回調(diào):給一個按鈕加上點擊的監(jiān)聽事件
步驟:

  1. 創(chuàng)建類,這個類描述了在回調(diào)的時候,你需要做哪些事情。
  2. 根據(jù)剛才創(chuàng)建的類來創(chuàng)建一個對象。

在Java中,我們使用匿名內(nèi)部類可以這么寫:


匿名類

在Kotlin中,我們可以這么寫:

匿名類

從以上來看,kotlin中的object關鍵詞java中的new差不多。

除此之外,kotlin中的object還可以這么寫:

  1. 一個對象,有多個父親的寫法


    熊掌魚
  1. 一個對象,沒有父親的寫法


    簡單的對象

說了那么多,總結(jié)一下。
針對匿名類而言,kotlin中的object關鍵詞java中的new關鍵詞是差不多的。

單例

所謂單例,就是內(nèi)存中,只有這個類的唯一的一個對象。
單例是個很有用的模板,Java要寫一堆代碼,Kotlin則非常簡單,如下:

object聲明單例

我們可以這樣使用:

RxBus.post(1)

由單例而引發(fā)的血案

由于kotlin中沒有static關鍵詞,也就是沒法定義類的靜態(tài)字段,靜態(tài)方法
但是我們可以這么想:類的靜態(tài)字段,靜態(tài)方法屬于類的,在內(nèi)存中只有一份,完全可以用單例來代替

一個類的常量,我們可以這么玩

我們也可以在類的內(nèi)部這么定義:


定義

這么訪問


訪問

訪問的話,我們多寫了一個類的名字:School.Contants.name,

我們想更加簡單的這么寫:School.name怎么辦?

companion object

再簡單一點:

companion object

白話kotlin系列

  1. 白話kotlin:向空指針異常說再見
  2. 白話kotlin:lambda表達式和高階函數(shù)是什么玩意?
  3. 白話kotlin:內(nèi)聯(lián)函數(shù)助你提升運行效率
  4. 白話kotlin:用協(xié)程來愉快的處理異步問題
  5. 白話kotlin:有意思的拓展
  6. 白話kotlin:簡單的理解 關鍵詞object
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容