2019-04-16 18:33:41
标识符(变量名,方法名,类名)
用反引号`....`包括的任意字符串,即使是关键字也可以
变量
val 与 var
常用类型
Scala语言是完全面向对象的语言,所以并不区分基本类型和引用类型
7种数值类型:Byte、Char、Short、Int、Long、Float、Double
Java中基本类型的数据在Scala中都是可以调用对象方法的
相对于java的类型系统,scala无疑要复杂的多!也正是这复杂多变的类型系统才让面向对象编程和函数式编程完美的融合在了一起!
Scala中,所有的值都是类对象,而所有的类,包括值类型,都最终继承自一个统一的根类型Any。统一类型,是Scala的又一大特点。更特别的是,Scala中还定义了几个底层类(Bottom Class),比如Null和Nothing。
1) Null是所有引用类型的子类型,而Nothing是所有类型的子类型。Null类只有一个实例对象,null,类似于Java中的null引用。null可以赋值给任意引用类型,但是不能赋值给值类型。
2) Nothing,可以作为没有正常返回值的方法的返回类型,非常直观的告诉你这个方法不会正常返回,而且由于Nothing是其他任意类型的子类,他还能跟要求返回值的方法兼容。
3) Unit类型用来标识过程,也就是没有明确返回值的函数。 由此可见,Unit类似于Java里的void。Unit只有一个实例,(),这个实例也没有实质的意义。
算数操作符
scala> 1 + 2 等同于: scala> 1.+(2) |
调用函数和方法
1)调用方法,静态方法(scala中没有静态方法这个概念,需要通过类的伴生对象来实现)
2)调用方法,非静态方法,使用对象调用