为什么在主构造函数中,非 val 或 var 参数可在代码中使用



我有这个代码。

class VBO (size: Int, usage: Int,
    private val vao: Int = GL30.glGenVertexArray(), 
    private val vbo: Int = GL15.glGenBuffers())

为什么我可以在类中的其他方法中使用大小和用法?它们还考虑了什么(字段、方法等)?

它们是可用的,因为您可能出于某种原因需要它们,因为您将它们声明为参数。如果您在deflazy val上使用它们,它们实际上是private val的。如果您根本不使用它们,或者仅用于初始化valvar,则它们仅存在于构造函数中,并且不是创建的实例的一部分。

最新更新