【发布时间】:2014-12-27 13:32:25
【问题描述】:
在Scala中声明类时,可以将参数定义为val,像这样:
class MathOperations(val _x: Int, val _y: Int) {
var x: Int = _x
var y: Int = _y
def product = x*y
}
但是在这种情况下,当我省略 val 关键字时,该类的实例的行为完全相同(据我所知)
像我上面那样声明参数和不使用val有什么区别,像这样:
class MathOperations(_x: Int, _y: Int) {
【问题讨论】:
-
它被复制到至少一个曾经发布过的问题。这是一个简短的答案。如果您不将它们定义为
val,则它们不会成为该类的成员。但是,如果类是case,则每个参数都将成为该类的成员。
标签: class scala parameters parameter-passing