随笔分类 - scala
摘要:1.创建Array // array 创建方法1 val arr = new Array[String](3) arr(0) = "1" arr(0) = "x" //底层调用 def update(i: Int, x: T) { throw new Error() } arr(1) = "1" a
阅读全文
摘要:package com.jason object FIndjar { def main(args: Array[String]): Unit = { val pd = classOf[org.apache.hadoop.mapreduce.TaskID].getProtectionDomain println("===="*30) val cs = pd.getCo...
阅读全文
摘要:执行结果 总结 1.什么是偏函数:例如上述的函数div,传入的参数为 int,反汉之也是int,但是函数并不是对所有输入的int都进行处理,而是只处理不为0 的int 2.orElse 方法可以拼接多个偏函数,类似if...else 3.andThen 方法是把多个偏函数串联起来,第一个函数的结果作
阅读全文
摘要:项目结构: log4j.properties 内容: maven 依赖: 代码样例: 结果输出: 为什么输出只有三个? log中的日志级别如下 debug < info < warn < error,默认只显示大于等于所设置级别的日志,我们在log4j.properties 中所设置的级别为 inf
阅读全文
摘要:一.模式匹配 运行结果如下: 小结: 1.scala 中的模式匹配类似java中的switch case,case _ 类似java中的 case:default ,scala一条匹配语句之后不用加 break; 2.字面量常量匹配会按照字面量的值进行匹配 3.变量常量(变量名为大写字母)同字面量常
阅读全文
摘要:一.case class 的特征 运行结果如下: 总结: 1.case class 默认实现了apply 方法,所以可以用val mes = Message("jason", "wus", "starbuck") 方法来创建对象 2.case class 重写了toString方法, 3.case
阅读全文
摘要:一.为类提供可以堆叠的改变 输出结果 1.创建Saving 实例时所混入的特质必须是ConsoleLogger的子类,否则会报错 2.程序执行时按照从右到左的顺序调用特质的方法 二.特质当做父接口使用 在Logger3中定义了抽象方法log,Saving3中对log方法进行了实现,并且可以调用Log
阅读全文
摘要:scala 中的特质类似java中的接口,但是trait 更灵活,在trait 中 1.可以定义属性(抽象或是非抽象的) 2.可以定义抽象或具体方法 特质几乎和抽象类是一样的(不能定义构造函数) 3.一个类可以混入多个特质,第一个特质使用extends 混入,从第二个特质开始使用with 混入 4.
阅读全文
摘要:1.抽象类要加abstract 修饰 2.抽象类中可以定义抽象属性,方法,也可以定义具体的方法 3.实现类需要实现父类的抽象方法 4.可以直接将父类的抽象属性作为形参传给实现类,如class Employee(val name: String, agex: Int, gen: String)
阅读全文
摘要:1.若继承了父类的属性,则需要加override关键字 ,如下: class Location(override val xc: Int, override val yc: Int, val zc: Int) extends Point(xc, yc) 2.子类继承了父类的属性和方法 3.final
阅读全文
摘要:1.属性的定义 编写一个PersonS类,并在其中定义一些属性,通过PersonS.scala 编译后的情况查看,可以知道不同修饰符修饰的属性分别会生成什么方法(set,get) 编译后用jd-gui 反编译查看 2.构造方法的定义 1)无参主构造函数的定义 反编译结果: 反编译后可以看到,系统会自
阅读全文

浙公网安备 33010602011771号