国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
黄龙县| 凉城县| 康马县| 乌审旗| 凤阳县| 穆棱市| 南皮县| 扎赉特旗| 时尚| 长葛市| 伽师县| 泽库县| 河北省| 普安县| 壤塘县| 昌都县| 将乐县| 岗巴县| 汶上县| 广昌县| 临海市| 姜堰市| 高邑县| 酉阳| 宣恩县| 鹿泉市| 彰武县| 马关县| 辽阳县| 如东县| 南江县| 靖宇县| 广州市| 澎湖县| 温州市| 长宁县| 沽源县| 民和| 如皋市| 台前县| 衢州市|