New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2019-06-14:Kotlin 中注解 @JvmOverloads 的作用? #76
Comments
在
|
@jvmoverloads注解的作用就是:在有默认参数值的方法加上@jvmoverloads注解,则Kotlin就会暴露多个重载方法。可以减少写构造方法。
|
@jvmoverloads注解了有参方法,该方法就会有很多重载方法。如 |
kotlin 我还没学怎么办 |
快学起来!!! |
讲真,看到上面的回答都有问题,忍不住回答一下。 Kotlin 中类似 @JvmXxx 这样的注解都是专门为了兼容 Java 而存在的。纯 Kotlin 开发的话,完全可以不使用 @jvmoverloads,也能有多种重载构造方法的效果,默认参数也会生效。 加上 @jvmoverloads,只是为了在 Java 中使用这个 Kotlin 类时,能访问到多个重载方法。 |
根据你的回答 我在说下上边的问题把,在 kotlin 中,你给参数赋值之后,可以不用传对应的参数,因为赋值的数据相当于默认值,除此楼外的回答都是不完全正确的。 fun setPersonal (name: String = "WhenSun", age: Int = 10){ 输出结果: |
在kotlin 中函数的参数是可以有默认值的,在使用时也可以使用参数名称传入具体的函数而不用根据顺序传入,这样就规避掉了函数的重载,不用写多个函数签名了,但是在 Java 中是不行的,加上这个注解之后,会根据参数的默认值情况生成对应的重载函数。 |
No description provided.
The text was updated successfully, but these errors were encountered: