【发布时间】:2016-07-07 10:23:41
【问题描述】:
如何在 Kotlin 中创建一个具有私有 getter(或没有它)但具有公共 setter 的属性?
var status
private get
无法正常工作,出现错误:Getter visibility must be the same as property visibility
就我而言,原因是 Java 互操作:我希望我的 Java 代码能够调用 setStatus,但不能调用 getStatus。
【问题讨论】:
-
只是好奇:你为什么要这么做?只写字段?
-
private get的意思是直接在类中使用属性,不是吗?
-
是的。只写字段。它只能从类内部读取。
-
这是个好问题。我很好奇写但不读字段的用例?我想不出你会需要它不可读的原因。你能分享你的用例吗?
-
@aaaidan 这将是构建器和命令设计模式的典型用例。
标签: java kotlin kotlin-interop