Scala 为什么主构造函数中的非val或var参数在代码中可用?
我有这个密码Scala 为什么主构造函数中的非val或var参数在代码中可用?,scala,constructor,Scala,Constructor,我有这个密码 class VBO (size: Int, usage: Int, private val vao: Int = GL30.glGenVertexArray(), private val vbo: Int = GL15.glGenBuffers()) 为什么我可以在类中的其他方法中使用大小和用法?还考虑了它们是什么(字段、方法等)?它们是可用的,因为您可能出于某种原因需要它们,因为您将它们声明为参数。如果在def或lazy val上使用它们,则它们实际上是pri
class VBO (size: Int, usage: Int,
private val vao: Int = GL30.glGenVertexArray(),
private val vbo: Int = GL15.glGenBuffers())
为什么我可以在类中的其他方法中使用大小和用法?还考虑了它们是什么(字段、方法等)?它们是可用的,因为您可能出于某种原因需要它们,因为您将它们声明为参数。如果在
def
或lazy val
上使用它们,则它们实际上是private val
。如果您根本不使用它们,或者仅用于初始化val
或var
,则它们仅存在于构造函数中,并且不是创建的实例的一部分。它们是可用的,因为您可能出于某种原因需要它们,因为您将它们声明为参数。如果在def
或lazy val
上使用它们,则它们实际上是private val
。如果根本不使用它们,或者仅用于初始化val
或var
,则它们仅存在于构造函数中,并且不属于创建的实例的一部分