![](/img/trans.png)
[英]Java - how to use a value from a class property when calling a constructor
[英]How to omit the constructor parameter with a default value when calling Kotlin in Java?
我的kotlin档案:
class Chat(var name: String, var age: Int? = 18)
我的java文件只能这样做:
new Chat("John",18);
但我可以写这个吗?
new Chat("John");
来自Kotlin文件 :
通常,如果您使用默认参数值编写Kotlin方法,则它将仅在Java中显示为完整签名,并且存在所有参数。 如果您希望向Java调用者公开多个重载,则可以使用@JvmOverloads批注。
因此,如果要仅使用Java在name
初始化Chat
,则必须将@JvmOverloads
注释添加到构造函数中。
class Chat @JvmOverloads constructor(var name: String, var age: Int? = 18)
它将使用默认值为每个参数生成额外的重载。
public Chat(String name) {}
public Chat(String name, Integer age) {}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.