@JvmOverloads注解的作用:在有默认参数值的方法加上@JvmOverloads注解,则Kotlin就会暴露多个重载方法。可以减少写构造方法。
example:
//无注解:
fun f(a: String, b: Int = 0, c: String="abc"){
...
}
//相当于在java中:
void f(String a, int b, String c){
...
}
//加上注解 @JvmOverloads ,默认参数起到作用
@JvmOverloads
fun f(a: String, b: Int = 0, c: String="abc"){
...
}
//相当于Java中,重载,三个构造方法
void f(String a)
void f(String a, int b)
void f(String a, int b, String c)