Scala数据类型(二)

Scala 的数据类型和Java是类似的,所有Java的基本类型在scala包中都有对应的类,将Scala代码编译为Java字节码时,Scala编译器将尽可能使用Java的基本类型,从而提供基本类型的性能优势
8种基本数据类型,位于scala包中:Byte,Short,Int,Long,Float,Double,Char,Boolean
Scala中没有基本数据类型的概念,所有的类型都是对象。

关系图:

 

 

 

  • Any :Any是所有其他类的超类
  • AnyRef:Scala里所有引用类(reference class)的基类
  • Unit:只有一个实例值 (),方法返回Unit 相当于返回了Java中的void
  • Null:每个引用类的子类
  • Nothing:在Scala的类层级的最低端;它是任何其他类型的子类型,可以赋值给任何其他类型,用于异常,表明不正常的返回

 看下Int类型的源码:

Int 继承了scala.AnyRef,定义了Int的最大值和最小值,以及基本操作,如+ - * /等等

j

 

 

 

 

 

 

 基本类型的运算

Scala是一门函数式编程语言,也是面向对象的编程语言。在Scala中,即使是最基本的数据类型操作,其本质上也都是面向对象的实现和调用。

例如Int类型的加法1+2,实际上是Int对象1调用了自身的对象方法+,方法+的参数是一个Int类型的参数,我们赋值参数为Int对象2。也就是说1+2,实际上是1.+(2)

 

posted @ 2020-10-19 17:54  楔子  阅读(205)  评论(0编辑  收藏  举报