Kotlin的物业可达性

时间:2016-01-02 18:42:03

标签: kotlin

以下是我们从文档中了解到的:Z[i, j] = func([X[i, j], Y[i, j]]) 属性的getter不能是私有的(似乎足够合乎逻辑),所以:

public

不会编译。 好吧,也许我们可以创建属性@Inject var repository: MyExampleRepository? = null private get 并定义setter private

public

这将编译并实际注入值,但我仍然无法在代码中使用它,所以:

@Inject private var repository: MyExampleRepository? = null public set

给出了编译错误:

service.repository = null

我想知道私人财产是否可以与公共制定者合作。

1 个答案:

答案 0 :(得分:2)

这是一个众所周知的问题:KT-10385

  

Kotlin不会为以下代码生成setter方法:

private val someProperty: Integer
public set
     

目的是生成一个仅设置属性。用例包括   春季依赖注入。