ゲッターとセッターはKotlinで自動生成されます。あなたが書く場合:
val isEmpty: Boolean
これは、次のJavaコードと同じです。
private final Boolean isEmpty;
public Boolean isEmpty() {
return isEmpty;
}
あなたの場合、プライベートアクセス修飾子は冗長です-isEmptyはデフォルトでプライベートであり、ゲッターによってのみアクセスできます。オブジェクトのisEmptyプロパティを取得しようとすると、実際にはgetメソッドが呼び出されます。Kotlinのゲッター/セッターをより深く理解するために:以下の2つのコードサンプルは同じです:
var someProperty: String = "defaultValue"
そして
var someProperty: String = "defaultValue"
get() = field
set(value) { field = value }
またthis
、ゲッターではあなたの財産ではなく、クラスインスタンスであることを指摘したいと思います。ゲッターまたはセッターでフィールドの値にアクセスしたい場合は、予約語field
を使用できます。
val isEmpty: Boolean
get() = field
パブリックアクセスでgetメソッドのみが必要な場合は、次のコードを記述できます。
var isEmpty: Boolean
private set
setアクセサーの近くにあるprivate修飾子により、この値はオブジェクト内のメソッドでのみ設定できます。
In your case the private access modifier is redundant
どうやって?Kotlin docによると、デフォルトの修飾子はパブリックです。kotlinlang.org/docs/reference/visibility-modifiers.html