【发布时间】:2019-07-31 21:09:59
【问题描述】:
我知道可以使用配套 ojbect 为 Scala 中的类声明静态变量和函数,但是有没有办法在 Trait 中声明静态变量/函数?
【问题讨论】:
-
不,你不能。特别是因为Scala实际上并没有static的概念,它只有值。现在,我们都知道
objects被编译为静态字段,但这只是运行时的细节。 - 如果您只想创建一次,您需要在object上定义它。如果你愿意,你可以在你的 trait 上引用该对象上的那个 val。