我是 Kotlin 的新手,我不明白我是否可以/如何调用函数或从配套对象设置变量:
class MyClass {
public var myVar: Boolean
public fun myFunc(): Int { ... }
companion object {
private fun doStuff(){
myVar = true
myFunc(1)
}
}
}
我在myVar = true
和myFunc(1)
上得到未解决的参考.
Companion 对象是一个与任何特定实例无关的对象MyClass
,因此如果不指定实例,它就无法访问实例属性myVar
和实例函数myFunc
。它只是不知道应该访问哪个实例。
如果你真的想从配套对象中的函数来做到这一点,你也应该给它传递一个MyClass
的实例:
companion object {
private fun doStuff(instance: MyClass){
instance.myVar = true
instance.myFunc(1)
}
}