我现在正在学习 Kotlin。就上下文而言,我是一名 Java 开发人员已有 10 年以上了。
我偶然发现了支持属性的概念。据我了解,要解决的问题是:我在一个类中有一个属性。我希望此属性是可变的并且仅在包含的类中可见,因此我将其声明为private var
. 该属性只能在包含的类中修改,但在类外应该是可读的。因此,Kotlin 文档提出了这样的建议:
private var _word = "test"
val word: String
get() = _word
Run Code Online (Sandbox Code Playgroud)
这可以工作并满足上述要求,但是对于 Java 开发人员来说这看起来有点奇怪。在Java中,我们只需要1个字段(Java中没有属性这样的东西):
private String word = "test";
public String getWord() {
return word;
}
Run Code Online (Sandbox Code Playgroud)
AFAIK,同样的结果。
今天我了解到,在 Kotlin 中,我可以将 setter 设为私有。那么这个 Kotlin 代码怎么样:
var word = "test"
private set
Run Code Online (Sandbox Code Playgroud)
满足所有要求,代码更加简洁。
我错过了什么吗?为什么我需要支持财产?