在Kotlin中声明">static"函数使用:
companion object {
fun classFoo() {
//do something
}
}
然而,我错误地编码
companion object fun classFoo() {
//do something
}
如果只需要一个静态函数,则期望代码执行相同的操作。
编译器对此没有争论,而且它似乎是有效的,因为编译器需要fun
名称和参数。但我从未发现如何从其他类调用该函数。
这种形式的companion object fun
有什么作用?目前还没有相关的文档。
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()