scala言语基础学习十】的更多相关文章

类型参数 泛型函数 多个参数 使用泛型参数时候,不给类型scala也能自己判断 上边界bounds 下边界bounds 专门用于打包泛型数组…
trait的学习 1.将trait作为接口来使用 trait中可以实现一些方法,子类只要extends 了trait就可以直接使用父trait里面的方法 普通继承的话父类和子类之间的field是通过引用访问,而trait之间的继承scala编译器会直接用同一个field trait的抽象filed 继承者必须实现 为实例混入trait trait调用链 在trait中覆盖抽象方法 此时不能调用因为是抽象方法 混合使用trait的具体方法和抽象方法 trait的构造机制 在具有继承和with多个t…
模式匹配 case _ =>不能放在函数的中间必须放在最后,否则scala会编译不通过 在case 里面使用if守卫 在模式匹配中获取输入的数据(在匹配不到的情况下) 对类型进行匹配 case class的使用 会自动伴生对象生成apply不用new 而且自动生成类似javaBean东西…
伴生对象 object方法构造函数只会执行一次.伴生对象和对象之间private对象可以互相访问 让object继承抽象类 apply方法 可以不new就构造对象 类似于var s = ArrayBuffer[Int]; scala main方法可以通过def main(args:Array[String])作为函数入口或者继承app方法 scalac + filename.scala 编译文件 然后通过scala class文件名字进行执行 利用拓扑…
定义一个简单的类 //定义类,包含field以及方法 自定义的getter 和setter 仅仅暴露field的getter和setter方法 private[this]的使用 (只能在当前实例中使用超出范围不行) java风格的getter和setter  scala.beans.BeanProperty 导入包…
scala变长参数: 递归累加: scala异常的使用: array和arraybuffer的使用 定长array: arraybuff:…
隐式转换 使用隐式转换加强现有的类型的功能-类似于设计模式的装饰模式…
一.将函数赋值给变量 二.匿名函数 三.高阶函数 高阶函数好像调用不打印是看不到赋值 和普通函数区别 高阶函数的类型推断 reduce操作 相当于1*2*3*4*5*6*7*8*9 def getName(msg:String)=(name:String)=>{println(msg + "," + name)} 相当于一个匿名函数放到getName函数中…