码迷,mamicode.com
首页 > 编程语言 > 详细

Kotlin enum class 匿名类实例

时间:2017-10-20 20:07:21      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:toc   wait   创新   匿名   enum   image   方法   父类   prot   

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做实际开发时就会爱上它,毕竟,任何创新肯定都是从老路上隐含提出的需求。

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

Kotlin enum class 匿名类实例

标签:toc   wait   创新   匿名   enum   image   方法   父类   prot   

原文地址:http://www.cnblogs.com/woodzcl/p/7701000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!