程序员KotlinAndroid开发经验谈

Kotlin特殊类(枚举、内部类)

2017-09-02  本文已影响49人  世外大帝

枚举

普通枚举

enum class Direction {
    NORTH, SOUTH, WEST, EAST
}

初始化

enum class Color(val rgb: Int) {
        RED(0xFF0000),
        GREEN(0x00FF00),
        BLUE(0x0000FF)
}

枚举匿名类

匿名类和java一样,常量之间要用;隔开

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

    TALKING {
        override fun signal() = WAITING
    };

    abstract fun signal(): ProtocolState
}

内部类

嵌套内部类

这个用的较多的应该是bean

class Outer {
    private val bar: Int = 1
    class Nested {
        fun foo() = 2
    }
}

val demo = Outer.Nested().foo() // == 2

普通内部类

class Outer {
    private val bar: Int = 1
    inner class Inner {
        fun foo() = bar
    }
}

val demo = Outer().Inner().foo() // == 1

匿名内部类

这是直接复制过来的js引用,这个用的最多的估计还是回调或者监听之类的

window.addMouseListener(object: MouseAdapter() {
    override fun mouseClicked(e: MouseEvent) {
        
    }

    override fun mouseEntered(e: MouseEvent) {
        
    }
})
上一篇 下一篇

猜你喜欢

热点阅读