Scala的类层级讲解
Scala的类层级Scala里,每个类都继承自通用的名为 因为所有的类都是Any的子类,所以定义在Any中的方法就是“共同的”方法:它们可以被任何对象调用。 Scala还在层级的底端定义了一些类,如
类层级图如下:Any类层级的顶端是Any类,定义了下列方法: final def ==(that: Any): Boolean final def !=(that: Any): Boolean def equals(that: Any): Boolean def hashCode: Int def toString: String 解释:因为每个类都继承自Any,所以Scala程序里的每个对象都能用==、!=或equals比较,用hashCode做散列,以及用toString格式化。 AnyVal,Unit和AnyRef根类Any有两个子类:AnyVal和AnyRef。 AnyVal
Unit
所有的值类都是scala.AnyVal的子类型,但是它们不是其他类的子类。但是不同的值类类型之间可以隐式地互相转换。
AnyRef
Scala类与Java类的不同在于它们还继承自一个名为ScalaObject的特质。目的是要通过ScalaObject包含的Scala编译器定义和实现的方法让Scala程序的执行更高效。 scala.Null和scala.NothingScala是用统一的方式处理Scala静态类型系统的某些“边界情况”的特殊类型。 Null
Nothing
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |