Avatar ·

如何在 Kotlin 中为属性创建 public getter 和 private setter?

你好!我刚开始从 Java 学习 Kotlin,遇到了一个问题。在 Java 中,我习惯将字段设置为 private setter 和 public getter,以控制数据访问。例如: ```java public class User { private String name; public String getName() { return name; } private void setName(String name) { this.name = name; } } ``` 在 Kotlin 中,我知道可以写 `var name: String` 并自动获得 getter 和 setter,但这样两者都是 public 的。如果我写 `private var name: String`,则两者都变成 private。如何在 Kotlin 中实现 getter 为 public(外部可读取属性),而 setter 为 private(只能在类内部修改值)? 我尝试过不同方法,但编译器报错。例如,我尝试写 `public var name: String private set`,但不起作用。请告诉我正确做法?另外,如果可能,请展示在构造函数中使用的示例。