第十一章 Scala的层级

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的类层级的最底端,它是任何其他类型的子类型。然而根本没有这个类型的任何值。它的用处是表明不正常的终止
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值