【问题标题】:Accessing variables in Kotlin在 Kotlin 中访问变量
【发布时间】:2018-02-20 21:59:30
【问题描述】:

如何在 Kotlin 中全局声明一个变量,以便在 Class A 中声明的变量可以在 Class B 中访问?

val fpath: Path = Paths.get("")

我希望能够在整个程序/项目中访问变量fpath。 附言我是 Kotlin 的新手。任何帮助,将不胜感激。

【问题讨论】:

  • 通常,您将变量传递给需要它的事物。

标签: kotlin


【解决方案1】:

首先:访问另一个类的属性并不难,只要它的可见性允许。默认情况下,没有显式可见性修饰符,它是:

class A{
    val fpath= ...
}

class B(val a: A){
    fun xy() = print(“accessing property of A: ${a.prop}”)
}

第二:您应该对示例变量 fpath 做的事情是将其定义为顶级元素,即直接在文件中,只需导入该元素即可从其他任何地方访问。

例如,您可以在包com.x 中有一个Common.kt 文件,其中包含fpath = Paths.get(...)。在另一个文件中,您执行 import com.x.fpath 并在整个文件中使用它。

第三:您也可以在companion objectA 中定义变量,如果它属于那里:

class A {
    companion object {
        val fpath = ...
    }
}

class B{
    fun xy() = print(“accessing property of A: ${A.fpath}”)
}

【讨论】:

    猜你喜欢
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    • 2019-12-04
    相关资源
    最近更新 更多