为什么scala示例中的PrefixMap已扩展?

时间:2015-10-06 22:04:34

标签: scala

PrefixMap处查看scala文档Here中的object PrefixMap示例(您需要向下滚动一下),我看到此代码:

object PrefixMap extends {
  def empty[T] = new PrefixMap[T]
  ....
}

以前我认为extends {意味着PrefixMap扩展了匿名类,该类定义了{之后的所有成员。 但看起来我错了,因为PrefixMap.getClass.getSuperclass会返回class java.lang.Object

如果我在那里删除extends关键字,我看不到示例行为的任何变化。那么它为什么存在呢?它是什么意思?

1 个答案:

答案 0 :(得分:1)

你是对的,如果删除extends子句,则没有任何变化。以下是有关解释extends {}语法的主题的旧讨论:http://grokbase.com/t/gg/scala-internals/13c6709rbf/deprecating-optional-extends/13c9v5r93m

来自Odersky的帖子的评论解释了为什么它是合法的:http://grokbase.com/p/gg/scala-internals/13c81d0cqz/deprecating-optional-extends