Kotlin基础 8 - 枚举(enum) 与 密封类

枚举
实力可数的类,注意枚举也是类
可以修改构造,添加成员
可以提升代码的表现力,也有一定的性能开销

enum class NetConfig(val id: Int) {
    NORMAL(0),DOWNLOAD(1);

    override fun toString(): String {
        return "$id - $name"
    }
}

fun main(args: Array) {
    println(NetConfig.NORMAL)
}

密封类
sealed 密封类 -> 权限为private类型
子类可数
有效保护密封性

sealed class PlayerCmd {
    class Play(val url: String, val position: Long = 0):PlayerCmd()

    class Seek(val position: Long):PlayerCmd()

    object Pause:PlayerCmd()

    object Resume:PlayerCmd()

    object Stop:PlayerCmd()
}

你可能感兴趣的:(Kotlin基础)