【问题标题】:How to differentiate member variable and function variable in kotlin如何区分kotlin中的成员变量和函数变量
【发布时间】:2021-01-30 05:31:46
【问题描述】:
 class A{
    ..........
    var name:String? // Member variable
    fun doSomeThing(name:String?)//name as function variable
    {
       uiScope.launch{name=name}
    }
    ..........
   }

在 java 的情况下,我们使用 this.name=name,但是如何在 kotlin 中做到这一点

【问题讨论】:

  • 你也可以在 Kotlin 中使用 this.name = name...

标签: java android kotlin


【解决方案1】:

在 kotline 中想出同样的方法如下

class A{
..........
var name:String? // Member variable
fun doSomeThing(name:String?)//name as function variable
{
   uiScope.launch{this@A.name=name}
}
..........

}

【讨论】:

  • this@A 而不是 this 应该只需要在内部类中,Java 将有 A.this
  • @AlexeyRomanov 我猜在CoroutineScope#launch 里面你有一个孩子CoroutineScope 的接收器,所以需要有资格的访问。
  • @AnimeshSahu 有道理,没想到!
猜你喜欢
  • 1970-01-01
  • 2011-01-17
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多