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)
相关推荐
Ada's4 分钟前
【计算机基础系列】python语言:环境搭建
开发语言·python
weiggle5 分钟前
第四篇:布局系统——从 Row、Column 到 Box 的声明式布局思维
android
xiaoshuaishuai86 分钟前
C# Avalonia UI的ItemControl
开发语言·ui·c#
未若君雅裁6 分钟前
JMM、volatile 与 CAS:并发安全三大问题
java·开发语言
hai3152475436 分钟前
# 矩阵算法·算子对齐工具 v6.1 — 技术规格与使用手册
java·开发语言·驱动开发·神经网络·spring·目标检测·矩阵
用户86022504674727 分钟前
Now in Android 架构深度解析
android
杊页11 分钟前
系列一:架构思想进阶 | 第1篇 Android 架构演进实录:从 MVC 的“万能类”到 MVVM 的数据驱动
android
曾几何时`14 分钟前
Go(三)GC垃圾回收
开发语言
并不喜欢吃鱼15 分钟前
一.C++11:统一列表初始化 + std::initializer_list 超详细精讲
开发语言·c++
CHHH_HHH23 分钟前
【C++】二叉搜索树全面升级,深度剖析AVL树
开发语言·数据结构·c++·算法·stl