内联setter或不在Kotlin中创建未使用的setter?

我注意到Kotlin为var创建setter ,并通过setter设置值,而不是直接设置。 我们可以让内线 ? 或者直接设置值而不创建默认的私有setter方法?

lateinit var name: String private set 

您可以使用@JvmField批注来注释值,以指示kotlin编译器不为其生成一个getter / setter对:

 @JvmField private var name: String = "Joshua" 

另外,对于vals,如果你有一个private val ,编译器不会为它产生一个getter,并产生一个字节码,这个字节码可以作为一个普通的字段。