默认参数

函数参数可以有默认值,默认值在对应的参数未提供时被函数使用。相对其他语言而言这样可以减少重载方法数量。

fun read(b: Array<Byte>, off: Int = 0, len: Int = b.size()) {}

默认值被定义在参数类型后面,使用=紧跟默认值。

重写方法也会使用和基类方法中的一样的默认值。当使用默认值重写方法时,默认参数值必须从方法签名中忽略,不然会编译出错。

open class A {
    open fun foo(i: Int = 10) { ... }
}
class B : A() {
    override fun foo(i: Int) { ... } // no default value allowed
}

results matching ""

    No results matching ""