我可以将未存储在类本身中的参数传递给 Scala 类构造函数吗?我想实现在Java中可以编写如下的功能:
class A {
private final SomethingElse y;
public A(Something x) {
y = x.derive(this);
}
}
即类构造函数采用参数,该参数稍后使用对 的引用转换为另一个值this
。构造函数返回后参数被遗忘。
在 Scala 中,我可以这样做:
class A(x: Something) {
val y = x.derive(this)
}
但这意味着它x
存储在我想避免的类中。由于x.derive
方法使用对 的引用this
,我无法在伴生对象中进行转换。