【发布时间】:2018-06-21 20:36:42
【问题描述】:
我刚刚开始使用 Kotlin 编程语言,它比 Java 酷得多。我对静态方法和字段有一些疑问:
Q1:官方文档说
Kotlin 还可以为命名中定义的函数生成静态方法 对象或伴随对象,如果您将这些函数注释为 @JvmStatic。
但是,如果您在下面看到,我可以将 bar() 方法作为静态方法访问,该方法无需使用 @JvmStatic 注释即可工作。但是在官方文档上它的抛出错误-> Kotlin static method.
Class C{
companion object{
@JvmStatic
fun foo() { }
fun bar();
}
}
fun main(args: Array<String>) {
C.foo();
C.bar(); //this line works fine
}
Q2:我真的需要@JvmStatic 和@JvmField 来使事情静态化吗?
正如您在 companion 对象中看到的那样,一切正常。
【问题讨论】:
-
@user8371915 我已经删除了代码的图像。谢谢