Kotlin for android学习五:嵌套类 内部类 枚举类

前言

kotlin官网和kotlin教程学习教程的笔记。

一、嵌套类

类嵌套在另一个类之内

class Outer {
    private val oa = 1
    class Nested {
        fun foo() = oa //unresolved reference错误
    }
}
    val demo=Outer.Nested().foo()

二、内部类

类可以使用 inner 关键字来标记, 然后就可以访问外部类(outer class)的成员. 内部类会保存一个引用, 指向外部类的对象实例

class Outer {
    private val oa = 1
    inner class Inner {
        fun foo() = oa //ok
    }
}
    val demo2=Outer().Inner().foo()

三、枚举类

enum class EColor{
    RED,GREEN,BLUE
}
val color = EColor.BLUE
   enum class Color(val value: String) {
        GREY("grey"),
        RED("red"),
        GREEN("green");
    }

枚举初始化

enum class EColor(val rgb:Int){
    RED(0xFF0000), GREEN(0x00FF00), BLUE(0x0000FF)
}
    val color=EColor.BLUE
       for (a in EColor.values()){
           print("$a ")
       }
        println()
        println(EColor.valueOf("BLUE"))
        println("name=${color.name} ; ordinal=${color.ordinal};rgb= ${color.rgb}")
        println(enumValueOf("RED"))
        for (a in enumValues()){
            print("$a ")
        }
        println()
输出结果

如果给定的名称不能匹配枚举类中定义的任何一个枚举常数值, valueOf() 方法会抛出 IllegalArgumentException 异常.

你可能感兴趣的:(Kotlin for android学习五:嵌套类 内部类 枚举类)