什么是Scala中的基类,如Java中的Object?

时间:2018-05-08 19:25:19

标签: scala

在Java中,Object是基类,由所有其他类扩展。 Scala中等效的基类是什么?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

不是那么快! ;)

这个问题似乎有点不合理,因为原始类型不会从Java中的Object扩展。因此,Java简直不像Scala。所有引用类型的基类(与Java中的子类Object对应的类)实际上是AnyRef,而不是Any

确实,Scala Tour page about unified types表示:

  

AnyRef表示引用类型。所有非值类型都定义为引用类型。 Scala中的每个用户定义类型都是AnyRef的子类型。如果在Java运行时环境的上下文中使用Scala,则AnyRef对应于java.lang.Object。

所有类型的基类(Any)和所有引用类型的基类(AnyRef)是两个独立的概念。