我能否将参数传递给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
的引用,所以我不能在伴生对象中进行转换。