最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kotlin?this關(guān)鍵字的使用實(shí)例詳解

 更新時(shí)間:2023年02月17日 11:47:39   作者:破浪會(huì)有時(shí)  
這篇文章主要介紹了Kotlin?this關(guān)鍵字的使用實(shí)例,在Kotlin中,this關(guān)鍵字允許我們引用一個(gè)類的實(shí)例,該類的函數(shù)恰好正在運(yùn)行。此外,還有其他方式可以使this表達(dá)式派上用場(chǎng)

在 Kotlin 中,this 關(guān)鍵字允許我們引用一個(gè)類的實(shí)例,該類的函數(shù)恰好正在運(yùn)行。此外,還有其他方式可以使 this 表達(dá)式派上用場(chǎng)。

this可以用來訪問類的成員

我們可以使用 this 作為屬性引用或函數(shù)調(diào)用的前綴:

class Counter {
    var count = 0
    fun incrementCount() {
        this.count += 2
    }
}

使用 this 作為前綴,我們可以引用類的屬性。 我們可以使用它來解決具有類似名稱的局部變量的歧義。

同樣,我們也可以使用 this 調(diào)用成員函數(shù)。

使用this訪問類實(shí)例

我們可以使用獨(dú)立的 this 來表示對(duì)象的一個(gè)實(shí)例:

class Foo {
    var count = 0
    fun incrementCount() {
        incrementFoo(this)
    }
}
private fun incrementFoo(foo: Foo) {
    foo.count += 2
}
fun main() {
    val foo = Foo()
    foo.incrementCount()
    println("Final count = ${foo.count}")
}

這里,this 表示類本身的實(shí)例。 例如,我們可以將類實(shí)例作為參數(shù)傳遞給函數(shù)調(diào)用。

此外,我們可以使用 this 將實(shí)例分配給局部變量。

二級(jí)構(gòu)造函數(shù)的委托

在 Kotlin 中,二級(jí)構(gòu)造函數(shù)(secondary constructors)必須委托給主構(gòu)造函數(shù)。 我們可以使用 this 來委托:

class Car(val id: String, val type: String) {
    constructor(id: String): this(id, "unknown")
}

這里,Car 的二級(jí)構(gòu)造函數(shù)委托給主構(gòu)造函數(shù)。事實(shí)上,我們可以在類的主體中定義任意數(shù)量的額外的構(gòu)造函數(shù)。

如果this沒有限定符,那么它指向包含當(dāng)前代碼的最內(nèi)層范圍.如果想要指向其他范圍內(nèi)的this,需要使用標(biāo)簽限定符。

帶限定符的this

為了訪問更外層范圍(比如 類, 或 擴(kuò)展函數(shù), 或有標(biāo)簽的 帶接受者的函數(shù)字面值)內(nèi)的 this, 我們使用this@label , 其中的 @label 是一個(gè)標(biāo)簽, 代表我們想要訪問的this所屬的范圍:

class A { // 隱含的標(biāo)簽 @A
  inner class B { // 隱含的標(biāo)簽 @B
    fun Int.foo() { // 隱含的標(biāo)簽 @foo
      val a = this@A // 指向 A 的 this
      val b = this@B // 指向 B 的 this
      val c = this // 指向 foo() 函數(shù)的接受者, 一個(gè) Int 值
      val c1 = this@foo // 指向 foo() 函數(shù)的接受者, 一個(gè) Int 值
      val funLit = lambda@ fun String.() {
        val d = this // 指向 funLit 的接受者
      }
      val funLit2 = { s: String ->
        // 指向 foo() 函數(shù)的接受者, 因?yàn)榘?dāng)前代碼的 Lambda 表達(dá)式?jīng)]有接受者
        val d1 = this
      }
    }
  }
}

到此這篇關(guān)于Kotlin this關(guān)鍵字的使用實(shí)例詳解的文章就介紹到這了,更多相關(guān)Kotlin this關(guān)鍵字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • 深入淺析Android坐標(biāo)系統(tǒng)

    深入淺析Android坐標(biāo)系統(tǒng)

    這篇文章主要介紹了 深入淺析Android坐標(biāo)系統(tǒng)的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Android實(shí)現(xiàn)滑動(dòng)效果

    Android實(shí)現(xiàn)滑動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)滑動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • Android Http實(shí)現(xiàn)文件的上傳和下載

    Android Http實(shí)現(xiàn)文件的上傳和下載

    這篇文章主要為大家詳細(xì)介紹了Android Http實(shí)現(xiàn)文件的上傳和下載,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android實(shí)現(xiàn)跳動(dòng)的小球加載動(dòng)畫效果

    Android實(shí)現(xiàn)跳動(dòng)的小球加載動(dòng)畫效果

    Android中有各式各樣的加載動(dòng)畫,大家多多少少都見過,比如用過美團(tuán)客戶端的用戶對(duì)美團(tuán)那個(gè)加載小人的動(dòng)畫印象很深刻,一個(gè)可愛的小人在那拼命的跑。這樣的動(dòng)畫實(shí)現(xiàn)其實(shí)還有很多,今天這里就來實(shí)現(xiàn)一個(gè)跳動(dòng)的小球效果。有需要的可以參考借鑒。
    2016-08-08
  • android實(shí)現(xiàn)底部導(dǎo)航欄

    android實(shí)現(xiàn)底部導(dǎo)航欄

    這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)底部導(dǎo)航欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Android VideoView類實(shí)例講解

    Android VideoView類實(shí)例講解

    本文主要介紹Android VideoView類,這里對(duì)VideoView類詳細(xì)說明了使用方法,以及示例代碼,有興趣的朋友可以參考下,希望能幫助Android 開發(fā)的朋友
    2016-08-08
  • Android 實(shí)現(xiàn)仿網(wǎng)絡(luò)直播彈幕功能詳解及實(shí)例

    Android 實(shí)現(xiàn)仿網(wǎng)絡(luò)直播彈幕功能詳解及實(shí)例

    這篇文章主要介紹了Android 實(shí)現(xiàn)仿網(wǎng)絡(luò)直播彈幕功能詳解的相關(guān)資料,并附實(shí)例代碼及實(shí)現(xiàn)效果圖,需要的朋友可以參考下
    2016-11-11
  • Android有效獲取狀態(tài)欄(StatusBar)高度的方法

    Android有效獲取狀態(tài)欄(StatusBar)高度的方法

    這篇文章主要介紹了Android有效獲取狀態(tài)欄(StatusBar)高度的方法,涉及Android針對(duì)狀態(tài)欄(StatusBar)屬性操作的相關(guān)技巧,需要的朋友可以參考下
    2016-08-08
  • Android中Glide加載到RelativeLayout背景圖方法示例

    Android中Glide加載到RelativeLayout背景圖方法示例

    Glide框架大家應(yīng)該都很熟悉,我們可以使用Glide加載網(wǎng)絡(luò)圖片、加載gif圖片,使用簡(jiǎn)單。下面這篇文章主要給大家介紹了關(guān)于Android中Glide加載到RelativeLayout背景圖的相關(guān)資料,需要的朋友可以參考下。
    2017-12-12
  • 解決Android 虛擬按鍵遮住了頁面內(nèi)容的問題

    解決Android 虛擬按鍵遮住了頁面內(nèi)容的問題

    今天小編就為大家分享一篇解決Android 虛擬按鍵遮住了頁面內(nèi)容的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評(píng)論

中宁县| 壶关县| 陆川县| 武邑县| 应城市| 新密市| 老河口市| 多伦县| 泸州市| 洱源县| 宜君县| 巴青县| 忻城县| 吴川市| 临湘市| 乐安县| 民权县| 沂水县| 房山区| 井研县| 安吉县| 法库县| 麦盖提县| 神木县| 崇阳县| 桦川县| 香格里拉县| 淳安县| 兴城市| 祁阳县| 怀来县| 安岳县| 迁安市| 汶上县| 革吉县| 慈溪市| 蕉岭县| 墨竹工卡县| 枞阳县| 伊吾县| 新巴尔虎左旗|