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)
相关推荐
云絮.几秒前
增删改查操作
java·开发语言
themingyi8 分钟前
Abaqus2024安装python包pandas
开发语言·python·pandas
阿正的梦工坊13 分钟前
【Rust】19-FFI、ABI 与跨语言边界设计
开发语言·后端·rust
殇淋狱陌16 分钟前
Python列表知识思维导图
开发语言·python·学习
代码中介商18 分钟前
C++ 智能指针完全指南(三):weak_ptr 与循环引用
开发语言·c++
fox_lht18 分钟前
第十五章 函数式语言:迭代器和闭包
开发语言·后端·学习·算法·rust
dualven_in_csdn25 分钟前
一键起飞调用示例
android·java·javascript
故渊at26 分钟前
第十板块:Android 系统稳定性与调试 | 第二十五篇:Watchdog 与 ANR 的系统级监控
android·watchdog·系统稳定性·anr·超时监控
Web极客码26 分钟前
如何通过 Python + LLM 用最少的 Token 完成精准推荐任务
开发语言·人工智能·python·ai
TPBoreas33 分钟前
AQS 是啥
java·开发语言