kotlin学习小记6--重载、默认参数

1、重载(overloads):方法名相同、参数不同(与返回值没有关系,因为jvm默认会为每个方法生成一个签名,而这个签名是由方法名和参数列表生成)

fun smaile():Unit{
    Log.i("wangsen", "smaile:");
}

fun smaile(str:String):Unit{
    Log.i("wangsen", "smaile:");
}

上面的例子是正确的方法重载,而下面的例子是不可以的,如:

fun smaile():Unit{
    Log.i("wangsen", "smaile:");
}

fun smaile():Int{
    Log.i("wangsen", "smaile:");
}

2、在kotlin中,其实任何参数都可以有默认值得,如:

fun smaile(str:String = "123"):Unit{
    Log.i("Demo", "smaile:");
}

然后在调用的时候,可以不传参数,直接调用this.smaile()

备注:如果是在java文件中直接调用方法时,如果想使用默认参数,还得在方法上增加注解@JvmOverloads

发布了29 篇原创文章 · 获赞 49 · 访问量 6633

猜你喜欢

转载自blog.csdn.net/wangsen927/article/details/82918804