scala(3) 面向对象

1.scala中没有static,所有object默认都是单例的,其方法都是静态的

apply方法是默认括弧方法

2.并行化集合

val list = List(1,2,3,4,5)
val s= list.par.fold(100)(_+_)

s可能是115,也可能是215,因为是并行化执行的,100会被执行并行化次数

但是如果是 foldLeft,那么100只会被加一次

3.Trait

相当于java中的interface

有一个混入功能,studnt这个对象会有ScalaTrait的属性
val student = new Student with ScalaTrait{
  override def hello(name: String): Unit ={
    println(name)
  }
} 

type可以理解成泛型

trait Fly {

   type T


  def learn(s:T): Unit ={
    println(s)
  }
}
object Fly1  extends Fly {
   type T = String

  def main(args: Array[String]): Unit = {
    Fly1.learn("f")
  }
}

 模式匹配


 

猜你喜欢

转载自blog.csdn.net/m0_37139189/article/details/84103274