强调:
(1)子类继承父类,如果new一个子类,那么一定会先去调用父类的构造方法。
(2)private[this] 表示私有的,只能在自己的类里面使用,子类不能用
1.字符串插值
1 | def main(args: Array[String]): Unit = { |
2.读取文件
(1)读取本地文件
1 | def main(args: Array[String]): Unit = { |
(2)读取网络资源
1 | val lines =Source.fromURL("http://www.baidu.com") |
比如说现在有很多工具类,都是java的,在scala中也可以调用java的类。
3.Haoop读取文件
1.首先需要引入依赖
1 | //环境上装的Haoop是 hadoop-2.6.0-cdh5.7.0 |
2.编写程序
(1)创建文件系统入口
1 | def main(args: Array[String]): Unit = { |
(2)对hadfs上的文件或文件夹进行书写操作
1 | //创建一个文件 |
3.数组
(1)定长
1 | //存放类型:数组中存放的是同一个数据类型 |
(2)变长
1 | 变长:ArrayBuffer |
4.StringBuilder vs StringBuffer
1 | String Buffer 线程是安全 |
5.Nil是什么
1 | scala> Nil |
6.List
一个类型的N个元素,有序可重复的
(1)定长
1 | //定义一个List集合 |
(2)变长
1 | scala> val l3=ListBuffer[Int]() |
7Map 映射 key=value
(1)定长
1 | //定义一个Map |
(2)变长
1 | //mutable 表示可变 |
(3)for循环取值
1 | val b=mutable.Map("ruoze"->18,"大树"->20) |
(4)[Option]
1 | for (key<-b.keySet){ |
(5)case class
1 | 定义 的是一个 实体类, |
(6)可变参数
1 | def main(args: Array[String]): Unit = { |
(7)默认参数
1 | def main(args: Array[String]): Unit = { |
8.模式匹配
1 | 定义:变量 match{ |
生产上用于异常处理
1 | try{ |
PartialFunction 偏函数
1 | print(say2(coach)) |
9.补充
集合
Tuple
1 | val a=(1.2.3.4.5) //这种定义 都是 Tuple |