Kotlin 九 之列舉

2021-09-28 20:59:53 字數 1272 閱讀 1080

kotlin使用enum class定義列舉類。列舉類是一種特殊的類,可以有自己的屬性、方法、可以實現乙個或多個介面,也可以定義構造器

使用enum定義的列舉類預設繼承kotlin.enum類,所以列舉類不能顯示繼承其他父類。kotlin.enum實現了kotlin.comparable介面

使用enum定義的非抽象的列舉類不能使用open修飾,因此列舉類不能派生子類

列舉類的構造器只能使用private修飾,如果省略修飾,預設是private。

列舉類的所有例項必須在列舉類的第一行顯示指定,多個例項使用逗號分隔。

案例

enum

class

season

fun main()

//2.遍歷

enumvalues()

.foreach

//spring

val se = season.

valueof

("spring"

)println

(se)

//winer

println

(season.winer.name)

//winer

println

(season.winer.

tostring()

)//3

println

(season.winer.ordinal)

//true

println

(season.spring.

equals

(se)

)}

列舉的屬性都是唯讀屬性,列舉必須在構造器中為這些屬性指定初始值,或者在初始化塊中執行初始值

enum

class

status

(val value: int, val desc: string)}}

fun main()

實現介面:列舉類可以實現乙個或多個介面.列舉類也可以包含抽象方法

inte***ce desc 

enum class status2(val value: int, val desc: string) : desc

},delete(1, "已刪除")

};abstract override fun printdesc(): unit;

}

Kotlin學習 Kotlin列舉類

列舉類最基本的用法是實現乙個型別安全的列舉。列舉常量用逗號分隔,每個列舉常量都是乙個物件 enum class color每乙個列舉都是列舉類的例項,它們可以被初始化 enum class color val rgb int 預設名稱為列舉字元名,值從0開始。若需要指定值,則可以使用其建構函式 en...

(九)kotlin擴充套件

kotlin 可以對乙個類的屬性和方法進行擴充套件,且不需要繼承或使用 decorator 模式。擴充套件是一種靜態行為,對被擴充套件的類 本身不會造成任何影響。擴充套件函式可以在已有類中新增新的方法,不會對原類做修改,擴充套件函式定義形式 fun receivertype functionname...

Kotlin列舉 簡易用法

宣告var workstatus meetingstatus.bdk enum class meetingstatus var type int,var desc string,var todo string 使用 data為乙個bean例項 workstatus if null data meet...