内联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,并产生一个字节码,这个字节码可以作为一个普通的字段。