Kotlin 中注解 @JvmOverloads 的作用

@JvmOverloads 注解的作用就是:在有默认参数值的方法加上 @JvmOverloads 注解,则 Kotlin 就会暴露多个重载方法。

例如,没有加注解,默认参数没有起到任何作用。

kotlin 复制代码
fun f(a: String, b: Int = 0, c: String = "abc") {

}

那相当于在 Java 中定义:

java 复制代码
void f(String a, int b, String c) {

}

如果加上注解 @JvmOverloads,默认参数起到作用:

kotlin 复制代码
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)
相关推荐
Nerd(BUG版)8 分钟前
KMP学习day4--Kotlin空安全与泛型
学习·安全·kotlin
qq_406981031 小时前
c++拷贝构造函数
开发语言·c++
爱喝雪碧的可乐1 小时前
MATLAB
开发语言·算法·matlab
booboosui2 小时前
Android 悬浮窗藏不住自己:一个标志位与 140 毫秒
android
传奇开心果3 小时前
【Flutter踩坑排雷】第5课:扩展方法冲突坑|同名扩展引发编译歧义,故障规避手段
android·flutter
H.莓飛3 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio
j7~5 小时前
【C++ 八股文】(篇四)C++11 新特性
开发语言·c++·面试·c++11·八股文
eggwyw5 小时前
C++中大括号的用法合集
开发语言·c++
xiaoye-duck5 小时前
《C++ 项目:手写大模型接入 SDK》本地 Ollama 部署与适配
开发语言·网络·c++·语言模型
.痞老板.5 小时前
mysql初阶--数据类型
android·数据库·mysql