【发布时间】:2021-09-20 18:13:45
【问题描述】:
使用注释的默认参数可以实现 Kotlin java 互操作性,即
@JvmOverloads
例如,我可以从 Java 类中调用这个 Kotlin 函数。
@JvmOverloads
int findVolume(length:Int, breadth:Int, height:Int = 20): Int {
retrun length*breadth*height
}
//从Java类调用。
KotlingFileName.findVolume(5, 10)// No problem here, possible, third param is optional
但是对于命名参数,这是不可能的。
@JvmOverloads
int findVolume(length:Int, breadth:Int, height:Int = 20): Int
{
retrun length*breadth*height
}
//从Java调用
KotlingFileName.findVolume(length=5,breadth= 10, height=20) // Not possible, why?
【问题讨论】: