第十一章 Scala的层级

最后更新于:2022-04-01 20:15:56

Any是所有其他类的超类,Nothing是所有其他类的子类 - Scala的层级 - Any类中的方法 - final def == (that : Any) : Boolean - final def != (that : Any) : Boolean - def equals(that: Any) : Boolean - def hashCode : Int - def toString : String - 两个子类 - AnyVal是Scala里每个内建值类的父类,除了Java中的八种基本类型还要加上Scala特有的Unit(实例值是 “”“()”“” ),类似于void - AnyRef是所有引用类的基类,实际就是类Java.lang.Object的别名,但在Scala程序里推荐使用AnyRef - 不同 - Scala类还继承自一个名为ScalaObject的特别的记号特质。为了加速模式匹配。 - 原始类型是如何实现的 - Scala中 == 操作被设计为对类型表达透明 - 对值类型来说,就是自然的相等 - 对引用类型来说,它被视为继承自Object的equals方法的别名 - 该方法初始地定义为引用相等,但被许多子类重写以实现他们自然理念上的相等性 - 底层类型 - Null类是null引用对象的类型,它是每个引用类的子类,且不兼容值类型 - Nothing类型在Scala的类层级的最底端,它是任何其他类型的子类型。然而根本没有这个类型的任何值。它的用处是表明不正常的终止
';