黑猴子的家:Scala 常用类型

Scala中,所有的值都是类对象,而所有的类,包括值类型,都最终继承一个统一的根类型Any。统一类型,是Scala的又一大特点。更特别的是,Scala中还定义了几个底层类(Bottom Class),比如Null和Nothing。

1、Null

Null是所有引用类型的子类型,而Nothing是所有类型的子类型。Null类只有一个实例对象null,类似于Java中的null引用。null可以赋值给任意引用类型,但是不能赋值给值类型。

null是一个对象,是一个Null类型的对象,可以赋值给任意引用类型,但是不能赋值给值类型

2、Nothing

Nothing,可以作为没有正常返回值的方法的返回类型,非常直观的告诉你这个方法不会正常返回,而且由于Nothing是其他任意类型的子类,他还能跟要求返回值的方法兼容。

3、Unit

Unit类型用来标识过程,也就是没有明确返回值的函数。 由此可见,Unit类似于Java里的void。Unit只有一个实例 (),这个实例也没有实质的意义。
unit ->可以类比理解为void

def play()={
  ()
}

unit类型的实例化对象就是()括号,括号它是一个对象,可以类比理解为void,是的,理解的时候,可以这么理解,但是严谨的说Unit 不是void,你不能太认真,unit和void差太多了,Unit类型只有一个实例化对象,就是()括号

Null 只有一个实例化对象,就是小写的null,Scala里面一切皆对象
之所以,设计出大写Null和小写null,也是为了符合,“Scala里面一切皆对象”的这句话的描述,因为编程语言,你在定义它的时候,就是在定义这个编程语言的世界观的,你的世界观是一定要有一个根基的,一切的事物都要符合你的这个根基的,不然你的这个世界观就崩塌了,我们要有一个根本的假设,也就是说,所有的东西都要符合这个根本假设,有些东西是为了符合而符合的,就像数学里面的0的阶乘是,1的零次方,这都是规定出来的,为了符合其他的数学逻辑,而规定的,所以Scala里面也是,Null的实例化对象是null

4、类型结构图

9193428-f4a4b8bb9cea6d3e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值