簡體   English   中英

Kotlin-使用屬性訪問語法問題

[英]Kotlin - Use property access syntax issue

好吧,我有一個WebView,以下屬性設置有效:

webview.settings.cacheMode = WebSettings.LOAD_NO_CACHE

但不是這個:

webview.settings.appCacheEnabled = false

相反,我必須使用舊方法:

webview.settings.setAppCacheEnabled(false)

你能告訴我為什么嗎? 謝謝。

根據官方文件

請注意,如果Java類僅具有一個setter,則它在Kotlin中將不會顯示為屬性,因為Kotlin目前不支持僅設置屬性。

如果查看WebSettings抽象類,則會看到它僅具有public abstract void setAppCacheEnabled(boolean flag); 方法,並且沒有此屬性的獲取方法,因此Kotlin不允許在此處使用屬性訪問語法。

實際上,值得注意的是,在創建合成屬性時,不僅Kotlin會尋找遵循Java約定的setter和getter方法,而且還會從getter推斷屬性的類型,如果子類覆蓋了返回更特定類型的getter方法,則該屬性會起作用比他們的超類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM