我注意到Kotlin为 var 创建 setter ,并通过 setter 设置值,而不是直接设置它。我们可以制作setter 内嵌吗?或默认情况下直接设置值而不创建私人设定者方法?
lateinit var name: String
private set
答案 0 :(得分:0)
您可以使用@JvmField
注释来注释值,以指示kotlin编译器不为其生成getter / setter对:
@JvmField
private var name: String = "Joshua"
此外,对于val,如果你有private val
,编译器将不会为它生成一个getter并生成一个字节码,将其作为普通字段。