1.代码如下:
fun main(args: Array<String>) {
val innerclass = OutClass().InnerClass()
innerclass.sayHello()
innerclass.sayOutName()
}
class OutClass {
val name: String = "张三"
inner class InnerClass {
val name: String = "李四"
fun sayHello() {
println("hello ${this.name}")
}
fun sayOutName() {
println("hello ${this@OutClass.name}")
}
}
}
输出结果如下:image.png
- 内部类和java的内部类是一样的 需要依赖于外部类对象的环境
- this@tag和java里面的OutClass.this.name一样的
网友评论