Kotlin-随行对象有趣的功能是什么?

时间:2019-11-05 19:30:51

标签: android function kotlin companion-object kotlin-companion

在Kotlin中声明“ 静态”功能的操作如下:

companion object {
    fun classFoo() {
        //do something
    }
}

但是我错误地编码了

companion object fun classFoo() {
     //do something
}

如果只需要一个静态函数,则期望代码执行相同的操作。

编译器对此没有争论,它似乎是有效的,因为编译器期望使用fun名称和参数。但是我从未发现如何从其他类中调用该函数。

companion object fun这种形式有什么作用?没有关于此的文档。

1 个答案:

答案 0 :(得分:3)

class Test {
    companion object fun classFoo() {
        //do something
    }
}

等效于

class Test {
    companion object // Add "{ }" to make it explicit that the object body is empty

    fun classFoo() {
        //do something
    }
}

即一个带有空伴侣对象(有效语法)和普通成员函数的类,该成员函数可以按通常的方式调用:

Test().classFoo()