我有一个带有 setter 的 Java 类,但没有属性的 getter。
class Person {
private String name;
public void setName(String name) { this.name = name; }
}
我想.name=
从 Kotlin 分配给它
fun example() {
val p = Person()
p.name = "example"
}
unresolved reference: name
尝试编译 Kotlin 时出现错误。如果我添加一个 getter,错误就会消失,但是我可以使用 setter 作为属性而不在 Java 中定义一个 getter 吗?我知道我仍然可以p.setName("example")
从 kotlin 打电话。
以上是MCVE。真实世界的代码是一个 Java 构建器,带有 setter 但不是我想从 Kotlin 使用的 getter,比如
val widget = WidgetBuilder().apply {
width = 1 // instead I need .setWidth(1)
height = 2
weight = 3
name = "my widget"
}.build()