这门课程从哪个班级延伸出来?

时间:2013-08-07 05:03:32

标签: scala

我写了这行代码似乎是错误的,但实际编译:

class A extends {}

A从哪个班级扩展?

2 个答案:

答案 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