了解Scala中的命名约定

时间:2015-07-28 10:36:42

标签: scala class object naming-conventions traits

在scala中,同一作用域中的objecttrait可以具有相同的名称。但是同一范围内的classtrait不能具有相同的名称。那是为什么?

1 个答案:

答案 0 :(得分:4)

您可以将类和特征视为类型,将对象视为。您可以始终在同一范围内拥有类型和值,而不会产生混淆:

trait Test {
  type X
  val X: Any
}

以下的工作没有成功:

trait Test {
  type X
  trait X
}

这两个:

trait Test {
  object X
  val X: Any
}

对象X的类型为X.type(不是X)。