【发布时间】:2015-12-26 13:12:36
【问题描述】:
我知道在 Scala 中创建匿名类来实例化特征的两种方法:
scala> trait SomeTrait {
| def aUsefulMethod = ()
| }
defined trait SomeTrait
scala> val instance1 = new SomeTrait{} // Method 1
instance1: SomeTrait = $anon$1@7307556f
scala> instance1.aUsefulMethod // Returns a Unit.
scala> object instance2 extends SomeTrait // Method 2
defined module instance2
scala> instance2.aUsefulMethod // Returns a Unit.
我想不出它们不相等的原因。我错了吗?
我问的部分原因是我以前只知道方法 2,但现在我发现方法 1 更常见。所以我想知道我是否一直在做错事。
【问题讨论】:
标签: scala anonymous-class traits