println(EnumClass.MON)//获取枚举值,此处相当于调用枚举值的toString 结果:MONprintln(EnumClass.MON.name)//获取枚举值的名字,相当于枚举值调用toString 结果:MONprintln(EnumClass.MON.enumParam)//获取枚举属性 结果:星期一EnumClass.MON.enumFun()//调用枚举方法 结果:枚举值:MON 枚举属性:星期一println(EnumC...
我给你一个例子和结果,你就清楚多了 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()...
class People(var name:String,var number:Int){} enum class PeopleEnum(private var people:People) { //枚举值括号里的参数要与主构造函数的入参保持一致 RIGHT_HAND(People("右手",80)), LEFT_HAND(People("左手",80)), RIGHT_FOOT(People("右脚",160)), //枚举要以 ; 结尾 LEFT_FOOT(People("...
enum class JvmLang {Java, Kotlin, Scala 反编译 class 后会发现,JvmLang 继承自 Enum。 public final class JvmLang extends Enum{private JvmLang(String s,int i){super(s,i);public static final JvmLang Java;public static final JvmLang Kotlin;public static final JvmLang Scala;static{Java = new ...
与Java一样,枚举类是一种特殊的类,kotlin可以通过enum class关键字定义枚举类。 枚举类可以实现0~N个接口; 枚举类默认继承于kotlin.Enum类(其他类最终父类都是Any),因此kotlin枚举类不能继承类; 非抽象枚举类不能用open修饰符修饰,因此非抽象枚举类不能派生子类; ...
kotlin枚举类enumclass kotlin枚举类enumclass 1.概念 与Java⼀样,枚举类是⼀种特殊的类,kotlin可以通过enum class关键字定义枚举类。2.注意点 枚举类可以实现0~N个接⼝;枚举类默认继承于kotlin.Enum类(其他类最终⽗类都是Any),因此kotlin枚举类不能继承类;⾮抽象枚举类不能⽤open修饰符修饰,因此...
enumclassJvmLang{Java, Kotlin, Scala} 反编译 class 后会发现,JvmLang 继承自 Enum。 publicfinalclassJvmLangextendsEnum{privateJvmLang(String s,inti){super(s,i);}publicstaticfinalJvmLang Java;publicstaticfinalJvmLang Kotlin;publicstaticfinalJvmLang Scala;...static{Java =newAction("Java",0);Kotlin...
7.Kotlin入门(七):enum,data,sealed,object enum类 与java不同,Kotlin中enum当做class的修饰符使用 1.常见用法: enumclassDirection{NORTH,SOUTH,WEST,EAST} 2.有成员属性时: enumclassColor(valrgb:Int){RED(0xFF0000),GREEN(0x00FF00),BLUE(0x0000FF)} ...
openclassDemo{openvarnum =3openfunfoo()="foo"openfunbar()="bar"}classDemoTest:Demo(){// 这里值得注意的是:Kotlin使用继承是使用`:`符号,而Java是使用extends关键字}funmain(args:Array<String>){ println(DemoTest().num) DemoTest().foo() ...
很多时候在使用enum的时候需要根据原始值rawValue来得到具体的enum的一个类型。在kotlin里面如何使用呢? 例如: enum class Foo(val rawValue: Int) { FIRST(1), SECOND(2); } 如果给数值2如何得到Foo.SECOND? 做法就是添加一个companion object. enum class Foo(val rawValue: Int) { ...