前言
嵌套类
在kotlin中一个类可以嵌套在另外一个类中例如
class Outter{
private var bar:Int = 1
class Nested{
fun foo() = 2
}
}
内部类
在潜逃类的基础上我们在潜逃在内部的类添加一个inner关键字,内部的类就成了内部类,他会持有外部类的引用
class Outer {
private val bar: Int = 1
inner class Inner {
fun foo() = bar
}
}
val demo = Outer().Inner().foo() // == 1
在使用内部类的时候我们会涉及到this关键字的使用,在一个类当中this表示的是当前的类的对象,在扩展函数或者带有接收者的函数字面值中, this 表示在点左侧传递的 接收者 参数,如果 this 没有限定符,它指的是最内层的包含它的作用域。要引用其他作用域中的 this,请使用 标签限定符,要访问来自外部作用域的this(一个类 或者扩展函数, 或者带标签的带有接收者的函数字面值)我们使用this@label,其中 @label 是一个代指 this 来源的标签:
本文深入探讨了Kotlin中内部类与嵌套类的区别与应用,解析了内部类如何持有外部类的引用,并通过实例展示了内部类的使用方法及this关键字的特殊用途。
596

被折叠的 条评论
为什么被折叠?



