我写了这行代码似乎是错误的,但实际编译:
class A extends {}
A从哪个班级扩展?
答案 0 :(得分:6)
实际上,extends {}
总是被置于AnyRef构造中,这是java.lang.Object
的别名。例如,在结构类型中,您可以写:
def test[A <: {def some: String}](a: A) = a
此处{def some: String}
是AnyRef
的子类型some
:
test: [A <: AnyRef{def some: String}](a: A)A
答案 1 :(得分:1)
A从java.lang.Object扩展而来。 您可以在scala解释器中尝试以下代码:
class A extends {}
val a = classOf[A].getSuperclass
输出结果为:
a: Class[_ >: A] = class java.lang.Object