Kotlin内部类
package .
/**
* @author:wangdong
* @description:
*/
/**外部类*/
open class Outter{
val a: Int = 0
//默认静态内部类
//不能访问外部类的成员变量
class StaticInner{
fun hello(){
//println(a)
}
}
//非静态内部类,关键字inner
//可以访问外部类的成员变量
inner class Inner{
fun hello(){
println(a)
println(this@Outter.a)
}
}
}
/**定义一个点击监听的接口*/
interface OnClickListener{
fun onClick()
}
/**定义一个View类*/
class View{
//可变的
var onClickListener: OnClickListener ?= null
}
fun main(args: Array<String>) {
//静态内部类实例化
val staticInner = ()
//非静态内部类实例化
val inner = Outter().Inner()
//注册view
val view = View()
//这边涉及到一个匿名内部类,就是没有名字的内部类,继承一下Outter类
//kotlin中匿名内部类,就和普通的类一样,可以继承一个类,实现多个接口
= object: Outter(),OnClickListener{
override fun onClick() {
TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}
}
}