zoukankan      html  css  js  c++  java
  • 枚举

    定义

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

    定义形式

    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") } } }
  • 相关阅读:
    LVM 逻辑卷管理
    运维自动化工具 Kickstart
    运维自动化工具 Cobbler
    Python 环境
    Zabbix Agent 自动、主动注册
    Zabbix Proxy 分布式监控
    PHP 性能优化之 PHP-FPM
    PHP 缓存插件之 Zend Opcache ( 取代 APC )
    Alternative PHP Cache ( APC )
    Tomcat ( 单机多 Tomcat 并存 )
  • 原文地址:https://www.cnblogs.com/rainboy2010/p/8966207.html
Copyright © 2011-2022 走看看