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