小编aka*_*cle的帖子

Kotlin静态函数:伴侣对象,@ JmmStatic @JvmField

我刚刚开始使用Kotlin编程语言,它比Java更酷.我对静态方法和字段有一些疑问:

Q1:官方文件说

如果您将这些函数注释为@JvmStatic,Kotlin还可以为命名对象或伴随对象中定义的函数生成静态方法.

但是如果你看到下面我可以访问bar()方法作为静态方法,它可以在不使用@JvmStatic注释的情况下工作.但在官方文档上它的抛出错误 - > Kotlin静态方法.

Class C{
    companion object{
        @JvmStatic
        fun foo() { }
        fun bar();
    }
}
fun main(args: Array<String>) {
    C.foo();
    C.bar(); //this line works fine
}
Run Code Online (Sandbox Code Playgroud)

Q2:我真的需要@JvmStatic并且@JvmField让事情变得静止吗? 正如您在companion对象中看到的那样,事情正在按预期工作.

static android kotlin

8
推荐指数
1
解决办法
2723
查看次数

标签 统计

android ×1

kotlin ×1

static ×1