前言
kotlin官網(wǎng)和kotlin教程學(xué)習(xí)教程的筆記。
一芍阎、嵌套類
類嵌套在另一個(gè)類之內(nèi)
class Outer {
private val oa = 1
class Nested {
fun foo() = oa //unresolved reference錯(cuò)誤
}
}
val demo=Outer.Nested().foo()
二、內(nèi)部類
類可以使用 inner 關(guān)鍵字來標(biāo)記, 然后就可以訪問外部類(outer class)的成員. 內(nèi)部類會(huì)保存一個(gè)引用, 指向外部類的對(duì)象實(shí)例
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<EColor>("RED"))
for (a in enumValues<EColor>()){
print("$a ")
}
println()
輸出結(jié)果
如果給定的名稱不能匹配枚舉類中定義的任何一個(gè)枚舉常數(shù)值, valueOf() 方法會(huì)拋出 IllegalArgumentException 異常.