如何在Kotlin中全局声明变量,以便可以在A
类中访问在B
类中声明的变量?
val fpath: Path = Paths.get("")
我希望能够在整个程序/项目中访问
fpath
变量。附言我是Kotlin的新手。任何帮助,将不胜感激。
最佳答案
第一:只要能见度允许,访问另一个类别的属性并不难。默认情况下,没有显式可见性修饰符,它是:
class A{
val fpath= ...
}
class B(val a: A){
fun xy() = print(“accessing property of A: ${a.prop}”)
}
第二:您应该对示例变量
fpath
进行的操作是将其定义为顶级元素,即直接在文件中,只需导入该元素即可从其他任何位置进行访问。例如,您可以在
Common.kt
包中包含一个com.x
文件,其中包含fpath = Paths.get(...)
。在另一个文件中,执行import com.x.fpath
并在整个文件中使用它。第三:如果属于该变量,还可以在
companion object
的A
中定义该变量:class A {
companion object {
val fpath = ...
}
}
class B{
fun xy() = print(“accessing property of A: ${A.fpath}”)
}