在PrefixMap
处查看scala文档Here中的object PrefixMap
示例(您需要向下滚动一下),我看到此代码:
object PrefixMap extends {
def empty[T] = new PrefixMap[T]
....
}
以前我认为extends {
意味着PrefixMap
扩展了匿名类,该类定义了{
之后的所有成员。
但看起来我错了,因为PrefixMap.getClass.getSuperclass
会返回class java.lang.Object
如果我在那里删除extends
关键字,我看不到示例行为的任何变化。那么它为什么存在呢?它是什么意思?
答案 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