Scala学习笔记(一):类和对象、函数和方法(和Java的不同的地方)

参考文章:scala(一)方法&函数
参考教程:类和对象
最近为了做专业课大数据计算基础的大作业在学Scala。学到类和对象,方法和函数的时候和以前的Java知识对照有点捋不太清,写篇笔记记录一下。

  • 类和对象:
    1.Scala的语法中没有static,实现静态功能的是单例对象Object,使用Object中的方法,可以直接使用,不需要像Class一样要先new一个对象。所以main方法的定义需要在Object中。
    附Scala中main方法的定义:
    def main(args:Array[String]){}
    2.Object和Class定义在同一个文件中且和Class同名时,Object是Class的伴生对象,Class是Object的伴生类,伴生对象和伴生类可以互相访问对方的私有成员。
    3.Scala 使用类参数,并把类定义和主构造函数合并在一起,在定义类的同时也定义了类的主构造函数。Object定义时不能带参数。也不能再new一个object对象。
    4.Scala不要求public类定义和其文件名相同。
  • 方法和函数:
    1. Scala在class中定义的方法的参数都是val类型,即常量,而不是var类型,即变量,因此在函数体内不可以修改参数的值。
    def add(b:Byte) :Unit ={ b=1 sum+=b }
    这段代码在编译时会报错,因为方法内试图修改参数b的值为1。
    2.当忽略方法定义中的'='时,Scala会忽略此方法的返回值,而返回Unit(等同于Java的void)。
    3.Scala也不需要使用return返回值(理论上允许使用),函数的最后一行的值就作为函数的返回值。
    4.Scala 中允许使用高阶函数, 高阶函数可以使用其他函数作为参数,或者使用函数作为输出结果。
  • 循环:
    1.Scala不提供break和continue。
posted @ 2020-11-17 21:09  tqy724  阅读(108)  评论(0)    收藏  举报