附带对象和具有默认值的函数

时间:2018-08-15 14:01:53

标签: android kotlin

我在函数isEnabled: Boolean = true中有一个带有默认值getCustomClass的类

class CustomClass(_className: String, _isEnabled: Boolean) {

    private val className: String = _className
    private val isEnabled: Boolean = _isEnabled

    companion object {
        fun getCustomClass(className: String, isEnabled: Boolean = true): CustomClass {
            return CustomClass(className, isEnabled)
        }
    }
}

为什么不能使用此构造函数:

CustomClass.Companion.getCustomClass(MyClass.class.getSimpleName());

1 个答案:

答案 0 :(得分:2)

您似乎正在从Java调用它。 Java不支持默认参数。

您可以在函数中添加@JvmOverloads,以便它生成可以从Java调用的所有其他重载方法。