Sau*_*age 0 java kotlin companion-object kotlin-companion
众所周知,Kotlin 和 Java 是可以互操作的。当我尝试访问 Kotlin 代码中的 Java 静态变量时,它可以工作,但是当我尝试访问 Java 中的伴生对象时,它不起作用。
Kotlin 本身没有静态。
在 Java 中,可以通过显式引用实例来访问伴生对象的属性Companion:
class MyKotlinClass {
companion object {
val someProperty = 42
}
}
Run Code Online (Sandbox Code Playgroud)
来自爪哇:
int someProperty = MyKotlinClass.Companion.getSomeProperty();
Run Code Online (Sandbox Code Playgroud)
您还可以通过使用 JVM 特定的注释强制 Kotlin 输出带有静态成员的字节码(对于 Java):
class MyKotlinClass {
companion object {
@JvmStatic
val someProperty = 42
}
}
Run Code Online (Sandbox Code Playgroud)
来自爪哇:
int someProperty = MyKotlinClass.getSomeProperty();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1603 次 |
| 最近记录: |