Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 为什么主构造函数中的非val或var参数在代码中可用?_Scala_Constructor - Fatal编程技术网

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
,则它们仅存在于构造函数中,并且不属于创建的实例的一部分