scalac test.scala && scala Test
在以下 Scala 2.11.6 中打印一个空的Set()
:
trait Foo
case class Bar() extends Foo
case class Baz() extends Foo
object Test {
def main(args: Array[String]) {
import scala.reflect.runtime.universe._
println( typeOf[Foo].typeSymbol.asClass.knownDirectSubclasses )
}
}
但是,如果我更改trait Foo
为,它会按预期sealed trait Foo
打印。Set(class Bar, class Baz)
这里发生了什么?