println(EnumClass.MON)//获取枚举值,此处相当于调用枚举值的toString 结果:MONprintln(EnumClass.MON.name)//获取枚举值的名字,相当于枚举值调用toString 结果:MONprintln(EnumClass.MON.enumParam)//获取枚举属性 结果:星期一EnumClass.MON.enumFun()//调用枚举方法 结果:枚举值:MON 枚举属性:星期一println(EnumC...
与Java一样,枚举类是一种特殊的类,kotlin可以通过enum class关键字定义枚举类。 枚举类可以实现0~N个接口; 枚举类默认继承于kotlin.Enum类(其他类最终父类都是Any),因此kotlin枚举类不能继承类; 非抽象枚举类不能用open修饰符修饰,因此非抽象枚举类不能派生子类; 抽象枚举类不能使用abstract关键字修饰enum class,...
enum class ColorADT {RED,BULE,YELLOW}class TakeColor(var colorADT: ColorADT) {fun selectColor(): String {return when (colorADT) {ColorADT.RED -> "红色"ColorADT.BULE -> "蓝色"ColorADT.YELLOW -> "黄色"// 不再需要 `else` 子句,因为我们已经覆盖了所有的情况}}}fun main() {println(TakeC...
dataclassCoordinate2(valx:Int,valy:Int){//运算符重载,使用operator关键字operatorfunplus(other:Coordinate2)=Coordinate2(x+other.x,y+other.y)}//枚举类,也可以定义函数enumclassDirection(valcoordinate:Coordinate2){EAST(Coordinate2(1,2)),WEST(Coordinate2(3,4)),NORTH(Coordinate2(5,6)),SOUTH(Coordi...
class Empty modifiers 包括classModifier 和accessModifier: classModifier: 类属性修饰符,标示类本身特性。 abstract //抽象类标示 final //标示类不可继承,默认属性 enum //标示类为枚举 open //类可继承,类默认是final的 annotation //注解类 accessModifier: 访问权限修饰符 ...
class Electric : Machine { override fun component() { ... } override fun control() { ... } } 继承接口: interface Computer : Machine { fun IODevice() } 可见性修饰符 可见性修饰符用于声明一个类或者接口的可见范围,类似于 Java,Kotlin 中使用public、private和protected关键字作为可见性修饰符。跟...
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 ...
kotlin枚举类enumclass kotlin枚举类enumclass 1.概念 与Java⼀样,枚举类是⼀种特殊的类,kotlin可以通过enum class关键字定义枚举类。2.注意点 枚举类可以实现0~N个接⼝;枚举类默认继承于kotlin.Enum类(其他类最终⽗类都是Any),因此kotlin枚举类不能继承类;⾮抽象枚举类不能⽤open修饰符修饰,因此...
二、密封类(sealed class)2.1 创建密封类2.2 使用 一、枚举类 枚举类,用来定义常量集合的一种特殊类。使用 enum class 可以声明一个枚举类。 1.1 创建枚举类 枚举常量用逗号分隔,每个枚举常量都是一个对象 enum class Color{RED,BULE,YELLOW}fun main() {//使用println(Color.RED)} ...
单例的object类仍可以继承类: object Singleton: Runnable{override fun run() {} } 内部类: 在kotlin中类内部的class前面不写修饰符默认就是静态内部类,class前面写inner修饰符才是java中的普通内部类,与java一样,普通内部类会持有外部类的对象引用。