Kotlin 中每个 class 只允许一个伴随对象
only one companion object is allowed per class in Kotlin
我正在从 Java 切换到 kotlin 以进行 Android 开发。当我在 Kotlin 中搜索等效于 Java 静态方法时,我发现伴随对象是。但问题是在 kotlin 中创建多个静态方法时。我收到这些错误,每个 class.
只允许一个伴随对象
您可以将多个方法和属性放在一个 object 中。它们就像 类,但它们只有一个实例。
class A {
companion object {
fun a() {}
fun b() {}
val x = 42
var y = "foo"
}
}
如果可以设置为
class C {
companion object {
@JvmStatic fun foo() {}
fun bar() {}
}
}
看到这个link for static method
您可以将一个或多个方法和变量放入**伴随对象**让我们看下面的例子
class DialogClass {
companion object {
fun DialogMethod(context: Context) {
val dialog = Dialog(context)
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
dialog.setContentView(R.layout.activity_main)
dialog.show()
}
fun AnotherMethod() {
// Implement own logic here.
}
}
}
我正在从 Java 切换到 kotlin 以进行 Android 开发。当我在 Kotlin 中搜索等效于 Java 静态方法时,我发现伴随对象是。但问题是在 kotlin 中创建多个静态方法时。我收到这些错误,每个 class.
只允许一个伴随对象您可以将多个方法和属性放在一个 object 中。它们就像 类,但它们只有一个实例。
class A {
companion object {
fun a() {}
fun b() {}
val x = 42
var y = "foo"
}
}
如果可以设置为
class C {
companion object {
@JvmStatic fun foo() {}
fun bar() {}
}
}
看到这个link for static method
您可以将一个或多个方法和变量放入**伴随对象**让我们看下面的例子
class DialogClass {
companion object {
fun DialogMethod(context: Context) {
val dialog = Dialog(context)
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
dialog.setContentView(R.layout.activity_main)
dialog.show()
}
fun AnotherMethod() {
// Implement own logic here.
}
}
}