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)
相关推荐
南棱笑笑生13 分钟前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
ulias21214 分钟前
C++ 的容器适配器——从stack/queue看
开发语言·c++
Amewin36 分钟前
window 11 安装pyenv-win管理不同的版本的python
开发语言·python
lionliu051939 分钟前
WebAssembly (Wasm)
java·开发语言·wasm
咸鱼加辣42 分钟前
【java面试题】springboot的生命周期
java·开发语言·spring boot
summerkissyou19871 小时前
Android-Camera-为啥不移到packages/module
android·相机
liang_jy1 小时前
Android UID
android·面试
weixin_462446231 小时前
用 Go 快速搭建一个 Coze (扣子)API 流式回复模拟接口(Mock Server)
开发语言·golang·状态模式
小鸡吃米…1 小时前
Python编程语言面试问题二
开发语言·python·面试
谁动了我的代码?1 小时前
QT<34> 利用线程池处理耗时任务以及回调函数的使用
开发语言·qt