kotlin重载
来源:3-2 函数(function)

慕妹2978617
2019-11-13
fun main(args: Array): Unit {
println(sum(args[0].toInt(), args[1].toInt()))
}
fun sum(aInt1: Int, aInt2: Int): Int {
return aInt1 + aInt2
}
val sum = fun(aInt1: Int, aInt2: Int): Int {
println("$aInt1 + $aInt2 = ${sum(aInt1, aInt2)}")
return aInt1 + aInt2
}
- 我如何区分我想调用的是常量方法 还是 fun
- 输入的结果和我预想的不一样 编译器显示调用的是方法 这是为什么
- kotlin是没有重载的嘛
写回答
1回答
-
bennyhuo
2019-11-13
sum(0,1) 是函数调用,优先绑定到了函数名上,但如果你当做变量使用的话,例如 sum.invoke(1,2) 就是变量的访问了
这个编译器说了算。
这也不是重载。重载要求名称相同且签名不一样,这里的例子签名相同且名称不同(注意第二个是一个匿名函数,没有名字)所以重载的两个条件都不满足哈。
00
相似问题