五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

DEVLOG 11.29 近期收集的一些問題(一)Kotlin相關(guān)

2021-12-03 20:14 作者:房頂上的鋁皮水塔  | 我要投稿

Q1: 如何理解Kotlin中的getter和setter ?

A1: getter和setter我們通常這樣使用:

其中field只能在setter中使用,表示當(dāng)前的字段的值。

具體轉(zhuǎn)換成字節(jié)碼是這樣的:

所以,如果我們給Kotlin中的一個變量定義了get和set方法的話,我們在獲取這個變量的內(nèi)容的時候,在Java層面,回去調(diào)用編譯器實現(xiàn)的一個getA方法,并且返回結(jié)果。

而使用set的時候會去調(diào)用setA,雖然實實在在的改變了a的值,但是因為我們寫了get,所以還是會返回getA的結(jié)果。


對于定義的一個普通的變量a,編譯器也會給他定義get和set和Java POJO中我們手寫的差不多:

Q2:延遲初始化lateinit var是如何實現(xiàn)的?

A2: 我們通常采用延遲初始化的方式對于一個我們不確定在何時初始化比較方便時的變量進行初始化。如果這個變量沒有被初始化,就會拋出異常:

第二個println會拋出異常。

具體的實現(xiàn)是通過在getter中定義檢查的語句,如果在獲取這個變量的值時為空,拋出異常:


DEVLOG 11.29 近期收集的一些問題(一)Kotlin相關(guān)的評論 (共 條)

分享到微博請遵守國家法律
敦煌市| 长春市| 邻水| 嘉峪关市| 郓城县| 津市市| 花莲市| 彭泽县| 洛扎县| 建始县| 永修县| 茂名市| 武夷山市| 海南省| 剑河县| 喀喇| 通辽市| 宝丰县| 洪洞县| 东辽县| 安义县| 钟祥市| 库尔勒市| 古交市| 磐石市| 乌鲁木齐县| 溆浦县| 阳原县| 文安县| 潞城市| 汽车| 渭南市| 平湖市| 稻城县| 新野县| 东山县| 永昌县| 临沧市| 莱州市| 徐闻县| 综艺|