kotlin的this关键字几种用法

Posted zhangjin1120

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin的this关键字几种用法相关的知识,希望对你有一定的参考价值。

  • 与java不同的是,原先MainActivity.this这种写法在kotlin中会报错。如下

正确的写法有许多,直接就写this也可以识别到,如下:

        Toast.makeText(MainActivity@this,"xxx1", Toast.LENGTH_SHORT).show()
        Toast.makeText(this@MainActivity,"xxx2", Toast.LENGTH_SHORT).show()
        
        var view: View = findViewById(R.id.tv)
        view.setOnClickListener(View.OnClickListener 
            Toast.makeText(this,"xxx3", Toast.LENGTH_SHORT).show()
        )

与之前java中this的写法相比,除了MainActivity.this不支持外,其他kotlin还是支持的。例如this,this.name

关于kotlin中this关键字的其他用法,示例如下,看运行结果就能明白:

fun main() 
    TestThis().test()


class TestThis 
    var name: String = "xxx"
    fun test() 
        println(this.name)
        fetchClassInfo(this)
        fetchClassInfo(TestThis@this)
        fetchClassInfo(this@TestThis)
        println("apkname".add0())
    

    fun fetchClassInfo(info:TestThis)
        println(info.javaClass.simpleName)
    


    fun String.add0():String
        return this + "0"
    

运行结果:

以上是关于kotlin的this关键字几种用法的主要内容,如果未能解决你的问题,请参考以下文章

Java中this关键字的几种用法

Java基础之this和super关键字用法

(转载)深入Java关键字this的用法的总结

Kotlin 匿名内部类对象引用当前Activity的this用法

Kotlin 关键字 object 的用法

kotlin的this关键字