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)
相关推荐
子超兄29 分钟前
线程池相关问题
java·开发语言
三少爷的鞋1 小时前
从 MVVM 到 MVI:为什么说 MVVM 的 UI 状态像“网”,而 MVI 像“一条线”?
android
dinl_vin1 小时前
python:常用的基础工具包
开发语言·python
2301_793804691 小时前
C++中的适配器模式变体
开发语言·c++·算法
蜡台2 小时前
Flutter 安装配置
android·java·flutter·环境变量
Jinkxs2 小时前
Java 部署:滚动更新(K8s RollingUpdate 策略)
java·开发语言·kubernetes
阿乐艾官2 小时前
【HBase列式存储数据库】
android·数据库·hbase
会编程的李较瘦2 小时前
【C语言程序设计学习】一、C语法基础
c语言·开发语言·学习
逝水如流年轻往返染尘2 小时前
JAVA中的抽象类
java·开发语言
困死,根本不会2 小时前
【C 语言】指针学习笔记:从底层原理到实战应用
c语言·开发语言·笔记·学习·算法