Scala集合类可以扩展自己吗?AbstractSeq混乱

Mic*_*tte 2 inheritance scala scala-collections

在Scala标准库中,我注意到了这一点:

package scala
package collection
package mutable

import generic._
...

/** Explicit instantiation of the `Seq` trait to reduce class file size in subclasses. */
abstract class AbstractSeq[A] extends scala.collection.AbstractSeq[A] with Seq[A]
Run Code Online (Sandbox Code Playgroud)

AbstractSeq[A] extends AbstractSeq[A] with Seq[A]?

这里发生了什么?

Gáb*_*kos 5

它是扩展的scala.collection.AbstractSeq,而定义是scala.collection.mutable.AbstractSeq,所以那些是不同的类.(注意不同的包名:scala.collectionvs scala.collection.mutable.)