1、靜態類
所有方法都為靜態方法,如工具類、常量池、等,直接把;類名前的class替換成object。
object
dataprovidermanager
val alldataproviders: collectionget() = // ……
}
在kotlin裡,通過object宣告的物件實際為單例模式的物件,它總是在 object 關鍵字後跟乙個名稱。 就像變數宣告一樣,物件宣告不是乙個表示式,不能用在賦值語句的右邊。可以理解為,通過object關鍵字宣告乙個單例物件
要引用該物件,我們直接使用其名稱即可:
dataprovidermanager.registerdataprovider(……)
2.靜態方法
在kotlin裡靜態方法可以通過「伴生物件」的方式實現,具體操作為:
在類的內部用companion object 包裹所需的靜態函式
class
myclass
}
該伴生物件的成員可通過只使用類名作為限定符來呼叫:
val instance =myclass.create()
可以省略伴生物件的名稱,在這種情況下將使用名稱 companion:
class
myclass
}val x = myclass.companion
kotlin學習筆記
屬性委託在單獨一頁中講 屬性委託。委託模式已經證明是實現繼承的乙個很好的替代方式,而 kotlin 可以零樣板 地原生支援它。derived類可以通過將其所有公有成員都委託給指定物件來實現乙個介面base inte ce base class baseimpl val x int base clas...
Kotlin學習筆記
該系列文章是本人梳理kotlin基礎知識所作,時間倉促可能會有不足,歡迎指正!kotlin學習筆記 1 基礎語法 kotlin學習筆記 2 基本資料型別,字串與陣列 kotlin學習筆記 3 條件控制與迴圈控制 kotlin學習筆記 4 容器 kotlin學習筆記 5 泛型和高階函式應用 kotli...
Kotlin學習筆記(三) Kotlin密封類
前言 密封類,可以理解為列舉,規定了有限個型別,不可以存在其他型別,但列舉每個列舉常量只存在乙個示例,但是密封類的子類可以有多個示例,所以可以將密封類看做是列舉的拓展,基於列舉,高於列舉,青出於藍而勝於藍。正文密封類和普通類的區別,在於密封類使用了sealed修飾符,雖然密封類也可以有子類,但是所有...