Kotlin中每个类只允许一个伴随对象

时间:2017-06-30 06:30:01

标签: android kotlin static-methods

我正在从Java转换为kotlin for Android Devlopment。当我在Kotlin中搜索相当于Java静态方法时,我发现伴随对象是。但问题是在kotlin中创建多个静态方法。我得到这些错误,每个类只允许一个伴随对象。

3 个答案:

答案 0 :(得分:7)

您可以在object中放置多个方法和属性。它们就像是类,但它们只有一个实例。

class A {
    companion object {
        fun a() {}
        fun b() {}

        val x = 42
        var y = "foo"
    }
}

答案 1 :(得分:3)

如果可以将其设置为

class C {
    companion object {
        @JvmStatic fun foo() {}
        fun bar() {}
    }
}

请参阅此link for static method

答案 2 :(得分:1)

你可以在** campanion对象中放入一个或多个方法和变量**让我们看看下面的例子

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.
    }
    }
    }