概述
一、前言
在面向对象的开发语言中,我们经常遇到的场景就是在一个类(A)的内部类(B)中,需要引用外部类(A)的当前对象,此时,就需要为this关键字添加限定符,以确定所表示的对象。
二、场景复现
在Java中,this
关键字限定符的使用大家应该都比较熟悉,就是 “外部类类名+点运算符+this
” 关键字即可,例如:A.this
示例:
class A {
public static void main(String [] args) {
new A().aShow();
}
public void aShow() {
new B().bShow();
}
class B {
public void bShow() {
// 在这里限定外部类A的this,使用A.this
bTest(A.this);
}
private void bTest(A a) {
System.out.println(a.toString());
}
}
}
在Kotlin中,this
关键字的限定符跟Java的语法不一样,是通过 “this
+@+外部类类名” 表示,例如:this@A
示例:
fun main(args: Array<String>) {
A().aShow()
}
class A {
fun aShow() {
B().bShow()
}
// 在kotlin中,内部类需要inner关键字,才能使用 `this` 关键字引用外部类对象
inner class B {
fun bShow() {
show(this@A)
}
private fun show(a: A) {
println(a.toString())
}
}
}
最后
以上就是欣喜冷风为你收集整理的Kotlin学习笔记——this关键字的限定符一、前言二、场景复现的全部内容,希望文章能够帮你解决Kotlin学习笔记——this关键字的限定符一、前言二、场景复现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复