我了解参数字段(如下x
例所示)的行为类似于普通字段;所以你可以在方法中引用它们:
class Test(val x: Int) { // x is a parametric field
override def toString = "Test: " + x;
}
但是,如果您删除关键字val
,代码仍然可以编译(并且查看和.class
输出,x
仍然是该类的成员)。所以我想知道,参数字段(即val x: Int
上面的)和构造函数参数(x: Int
)之间有什么区别?
(在我脑后有 Java 的情况下,我本来希望构造函数的范围不包括像这样的方法x
。)toString