package kotlinall.chapter4
open class Outter{
val a:Int = 0
class Inner{//内部类默认 访问属性public 而且静态内部类
fun hello(){
// println(a) 静态内部类无法访问 非静态外部类的成员变量
}
}
inner class NoStaticInner{//非静态内部类 使用inner
val a:Int = 0
fun hello(){
println(a)
println(this@Outter.a)//这种写法 是全称写法
}
}
}
interface OnClickListener{
fun onClick()
}
class View{
var clickListener:OnClickListener? = null
}
/*
* 内部实例必须依赖外部类 使用非静态内部类
*
* */
fun main(args: Array<String>) {
val inner = Outter.Inner()//静态内部类
val inner1 = Outter().NoStaticInner()//非静态内部类
val view = View()
//匿名内部类的写法 而且还可以继承一个 实现多个接口
view.clickListener = object :Outter(),OnClickListener{
override fun onClick() {
}
}
}```
kotlin内部类 匿名内部类
最新推荐文章于 2024-05-05 18:29:34 发布