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)
相关推荐
坐吃山猪6 分钟前
Python09_正则表达式
开发语言·python·正则表达式
AI科技星9 分钟前
v=c 物理理论核心参数转换表达式大全
开发语言·线性代数·算法·数学建模·平面
oldmao_200015 分钟前
第八章 设计并发代码
开发语言·c++·多线程编程·并发编程
fly spider17 分钟前
MySQL索引篇
android·数据库·mysql
SomeB1oody18 分钟前
【Python深度学习】2.1. 卷积神经网络(CNN)模型理论(基础):卷积运算、池化、ReLU函数
开发语言·人工智能·python·深度学习·机器学习·cnn
Java面试题总结19 分钟前
2026年Java面试题最新整理,附白话答案
java·开发语言·jvm·笔记·spring·intellij-idea
大鹏说大话25 分钟前
前端性能优化全链路指南:从资源加载到渲染的极致体验
开发语言
芒果披萨25 分钟前
日志管理 logging
java·开发语言·c++
unicrom_深圳市由你创科技30 分钟前
C# 如何实现对象序列化
开发语言·c#
夜珀35 分钟前
AtomGit算力连接与实战全攻略
开发语言·人工智能