• 枚举


    定义

    一个类的对象是有限且固定的,这种实例有限且固定的类称为枚举类。

    定义形式

    enum class enumName {
       ....
    }

    枚举常量之间用逗号分开。

    初始化

    每一个枚举都是枚举类的实例,它们可以被初始化:

    enum class Color(val rgb: Int) {
        RED(0xFF0000),
        GREEN(0x00FF00),
        BLUE(0x0000FF);
    
        override fun toString(): String {
            return rgb.toString();
        }
    }

    API

    • EnumClass.valueOf(value: String): 由枚举值的名称获取枚举实例
    • EnumClass.values(): 获取所有的枚举实例

       for (color in Color.values()) {
            println(color.toString())
        }

    匿名类与抽象方法

    在枚举类中声明了抽象方法,所有的枚举常量都应声明其匿名类,并在匿名类中实现枚举类中声明的抽象方法,如果不实现,编译器会报错。

    enum class MOBILE {
        XIAOMI {
            override fun print() {
                println("MI");
            }
        },
        HUAWEI {
            override fun print() {
                println("P10");
            }
        };
    
        abstract fun print()
    }

    枚举类与接口

    枚举类实现接口的情况与抽象方法类似,所有的枚举常量都应在其匿名类中实现接口的方法。

    interface IClickListener {
    fun doClick();
    }


    enum
    class WIDGET(var type: Int) : IClickListener { Button(1) { override fun doClick() { println("btn click") } }, EditText(2) { override fun doClick() { println("edittext click") } } }
  • 相关阅读:
    使用sorted函数对字典元素排序
    PAT (Basic)1004 成绩排名 (Python实现)
    Python中的a+=b和a=a+b之间的区别是什么?
    Shell while循环用法总结
    PAT (Basic)1027 打印沙漏 (Python实现)
    python 基础应用2
    python 基础知识1
    python 基础知识2-数据类型
    python 基础应用1
    PHP提高SESSION响应速度的方法
  • 原文地址:https://www.cnblogs.com/rainboy2010/p/8966207.html
Copyright © 2020-2023  润新知