【发布时间】:2023-03-21 17:06:01
【问题描述】:
如果我理解正确的话,trait 是最接近 Java 接口的东西,类构造函数会自动设置变量。
但是,如果我有一个扩展 trait 的类并有一个从 trait 设置变量的构造函数,例如:
trait Foo {
var foo: String
}
class Bar (foo: String) extends Foo { /* ... */ }
当我创建 Bar 对象时,我希望在哪里设置特征的 foo 字符串。
编译器似乎给了我关于这个的错误。实现这一目标的正确方法是什么?
【问题讨论】:
-
请注意:特征初始化本身并不是一件简单的事情,通过变量和覆盖,您可以非常快速地完成初始化(我做过)。确保你真的需要它。
标签: scala constructor traits