枚举类

作者: Green_Apple | 来源:发表于2017-09-01 09:36 被阅读0次

    package meijulei
    /*
    枚举类最基本的用法是实现一个类型安全的美剧
    枚举常量用逗号分隔,每个枚举常量都是一个对象
    */

    enum class Color{
    RED,BLACK,BLUE,GREEN,WHITE
    }

    //---------------每一个枚举都是枚举类的实例,可以被初始化
    enum class Color2(val rgb:Int){
    RED(0Xff0000),
    GREEN(0X00ff00),
    BLUE(0X0000FF)
    }
    //默认是从0开始 若需要指定值,可以使用其构造函数
    enum class Shape(value:Int){
    ovel(100),
    rectangle(200)
    }

    //-----枚举类还支持以声明自己的匿名类及相应的方法,以及覆盖基类的方法
    enum class ProtocolState{
    WAITING{
    override fun signal()=TALKING
    },
    TALKING{
    override fun signal()=WAITING
    };
    abstract fun signal():ProtocolState
    }

    //--------使用枚举常量---------------
    /*
    Kotlin 中的美剧类具有合成方法,
    允许便利定义的枚举常量,并通过其名称获取枚举常数
    */
    fun main(args: Array<String>) {
    var color:Color=Color.BLACK
    println(Color.values())
    println(Color.valueOf("RED"))
    println(color.name) //表现名 BLACK
    println(color.ordinal) //值 1
    }

    相关文章

      网友评论

          本文标题:枚举类

          本文链接:https://www.haomeiwen.com/subject/sdehjxtx.html