簡體   English   中英

如何在 Kotlin 中設置和使用屬性?

[英]How to set and use property in Kotlin?

我正在學習 Kotlin。 我認為在構造函數上設置的變量是 class 的屬性,但我認為我錯了,所以我使用init設置變量:

class JNI(val _context: Context) {
    var context: Context;
    init {
        this.context = _context;
    }
    companion object {
        @JvmStatic
        private fun loadWavAsset(assetMgr: AssetManager, assetName: String, index: String, pan: Float): Boolean {

           
            val myAssetPath : String = "assets/my_asset"
            val assetLookupKey =  FlutterLoader.getInstance().getLookupKeyForAsset(myAssetPath)
            val inputStream: InputStream = context.assets.open(assetLookupKey)

好吧,即使這樣,行val inputStream: InputStream = context.assets.open(assetLookupKey)給出錯誤說沒有context object。

那么如何設置上下文 object 呢?

類作為實例存在。 它們可以被創建和銷毀,並且可以有許多相同 class 的實例。

class 的配套 object 是 static。 它與 class 的任何特定實例無關。 它可以隨時隨地訪問。

代碼中的context變量無法從伴隨的 object 訪問,因為該變量是在 class 實例上定義的。

暫無
暫無

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

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