zoukankan      html  css  js  c++  java
  • Kotlin enum class 匿名类实例

    Kotlin里的枚举类里有新玩意:就是枚举类的常量可以同时看成是一个同名匿名类

    既然是类就可以与方法关联

    看看官网的代码

    如果你有过其它语言的使用枚举的经历,你可能对这个定义和说明很迷惑

    我给你一个例子和结果,你就清楚多了

    enum class ProtocolState {
      WAITING {
        override fun signal() = TALKING
      },

      TALKING {
      override fun signal() = WAITING
      };

      abstract fun signal(): ProtocolState
    }

    fun main(args: Array<String>) {

      val ev:ProtocolState = ProtocolState.WAITING
      println(ev.signal())

    }

    //结果

    TALKING

    Finally:

    枚举常量支持枚举类,支持重载父类的方法,枚举常量匿名类规则和常量一致,但常量匿名类和父类的其它分量要用";"隔开

    好了,也许,你不屑于这种想法

    但是,也许等你用上Kotlin做实际开发时就会爱上它,毕竟,任何创新肯定都是从老路上隐含提出的需求。

    你不待见,很可能是你道行不够而已。

  • 相关阅读:
    排序规则
    revert
    添加字段modify
    修改字段名change
    修改字段注释modify
    修改字段类型modify
    file类型input框赋值
    disabled
    js失去焦点触发
    别把软件开发当做养家糊口的工具...
  • 原文地址:https://www.cnblogs.com/woodzcl/p/7701000.html
Copyright © 2011-2022 走看看