5-3-函数重载

Kotlin 允许在同一个类或同一作用域中定义多个同名函数,只要 形参列表不同(参数个数或类型不同)即可。

与 Java 类似,仅靠 形参名不同、返回值类型不同、修饰符不同 并不能构成重载。

fun sum(a: Int, b: Int): Int {
return a + b
}

fun sum(a: Int, b: Int, c: Int): Int {
return a + b + c
}

fun sum(a: Double, b: Double): Double {
return a + b
}

fun main() {
println(sum(1, 2)) // 调用第一个 sum,输出 3
println(sum(1, 2, 3)) // 调用第二个 sum,输出 6
println(sum(1.5, 2.5)) // 调用第三个 sum,输出 4.0
}

说明:

  1. 第一个 sum 函数有两个 Int 参数。

  2. 第二个 sum 函数有三个 Int 参数 → 与第一个函数形成重载。

  3. 第三个 sum 函数有两个 Double 参数 → 参数类型不同,也构成重载。