kotlin内部类

116 阅读1分钟

class Outter{

val a:Int = 0

class Inner{

}

inner class Inner2{
    val a:Int = 5

    fun visit(){
        println(this.a)
        println(this@Outter.a)
    }
}

}

interface OnClickListener{ fun OnClick() }

class View { var onClickListener:OnClickListener? = null }

fun main(args: Array) {

//Kotlin内部类,默认是静态的,如果不是静态的,也不会是Outter.Inner(),应该是Outter().Inner()
val inner = Outter.Inner()

//使用inner关键字,实例内部类
val inner2 = Outter().Inner2()

//匿名内部类
val view = View()
view.onClickListener = object :OnClickListener{
    override fun OnClick() {
        println("click me")
    }
}

}