Download presentation
Presentation is loading. Please wait.
1
Lecture: Alex Wang QQ:532500648 QQ Group:785578696
Scala Programming Lecture: Alex Wang QQ: QQ Group: 版权所有:心蓝说Java
2
心蓝说Java系列程程 PowerMock 高并发第二阶段 Mockito 高并发第三阶段 Concordion Google Guava
Java 8 in Action Apache Flume In Action Apache Sqoop In Action 高并发第一阶段 高并发第二阶段 高并发第三阶段 Google Guava Apache Kafka In Action Scala Programming 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
3
心蓝说Java计划中的课程 Java 9 模块编程 Java 9 实战编程 Java 9 之JShell
Apache Zookeeper实战 Apache Zookeeper内核剖析 Apache Kafka内核剖析 Scala高级篇 Programming Kotlin 算法与数据结构(Java/Scala) Apache Storm实战 Java 函数式编程 高并发第四季AQS 网络编程第一季-基础 网络编程第二季-NIO 网络编程第三季-AIO/Mina 网络编程第四季-Netty Jetty实战视频 Reactive Programming with RxJava Java程序设计与架构详谈 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
4
心蓝说Java出版书物 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
5
Scala Programming参考书籍
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
6
001-Scala入门,开发环境搭建 Scala: http://www.scala-lang.org/
JDK(1.8): downloads html Intellij Idea: Scala plugins for Intellij: Scala Configure the environments for scala 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
7
002-scala脚本,while,if,foreach,for
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
8
003-scala数组类型学习 如何定义如数组 如何给数组中赋值 如何枚举数组中的值 数组中赋值与枚举的本质 如何在定义数组时初始化
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
9
004-scala 列表(list)类型学习 list的创建 list的特性 list的不可变性(方法没有副作用)
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
10
006-scala 元组(Tuple)类型学习 Tuple的创建 Tuple元素的访问 Tuple类型的特点
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
11
007-scala 集合(Set)类型学习 Set的创建于初始化 Set的基本操作
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
12
008-scala 映射(Map)类型学习 Map的创建于初始化 Map的特性及其基本操作
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
13
009-scala函数式风格编程初探 函数式编码初探 没有副作用的函数调用 消除var Source与文件介绍
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
14
010-Scala类字段和方法 Scala中的类 Scala类中的字段 Scala类中的方法
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
15
011-Scala中的Singleton对象 Scala中的Singleton对象介绍
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
16
012-Scala的基本类型和操作-I 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
17
012-Scala的基本数据类型和操作-II 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
18
012-Scala的类型继承关系-III 1. Any, AnyVal, AnyRef,Object之间的关系 2. 3. 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
19
013-函数式对象 创建Scala Class 有参构造函数 定义类方法 重写父类方法
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
20
014-this,私有方法,辅助构造函数 辅助构造函数 this 私有方法
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
21
015-方法重载,隐式转换初探 Scala方法重载 隐式转换
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
22
016-Scala内建控制结构之IF IF控制语句在scala中的特点
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
23
017-Scala内建控制结构之while/do while
unit () 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
24
018-Scala内建控制结构之for-I for内建控制的用法 generator(发生器|生成器) Range 过滤
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
25
019-Scala内建控制结构之for-II for{} yield{}产生一个新的集合 去break,去continue
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
26
020-Scala中的异常处理 Scala中的异常处理基本用法 异常处理返回值 Nothing
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
27
021-Scala中的匹配表达式 Scala匹配表达式 与switch case对比
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
28
021-Scala中的本地方法 Scala中的本地函数介绍 Scala中的本地函数原理
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
29
022-Scala中的头等函数以及函数字面量 什么是头等函数 头等函数的编写方式 头等函数作为参数 头等函数作为返回值
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
30
023-Scala中的占位符的使用 Scala中占位符的基本用法 使用占位符将普通函数转换为头等函数
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
31
024-Scala中的部分函数 什么是部分函数 部分函数可以看作是函数的多态 部分函数的使用
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
32
025-Scala中的闭包 什么是闭包:在一个函数中可以访问另外一个函数中的变量 Javascript如何定义闭包 Scala中如何定义闭包
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
33
026-Scala方法中重复参数 Scala方法中可重复参数基本用法 与Java对比
结合Array[T],Set[T],List[T],Map[K,V],Tuple[T]练习 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
34
027-Scala中的高阶函数 能够接受函数参数的函数 能够返回函数的函数
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
35
028-Scala中的尾递归 递归的基本介绍 尾递归的讲解 尾递归的好处
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
36
029-内容回顾课程总结1 内容回顾与总结 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
37
030-内容回顾课程总结2 内容回顾与总结 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
38
031-内容回顾课程总结3 内容回顾与总结 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
39
032-减少重复的代码 善于找出重复的代码并且知道如何重构 充分利用高阶函数 在编写代码的时候就要考虑到它的扩展性
所谓扩展性通俗的讲就是如何设计变化带来的影响 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
40
034-Scala中的柯里化(Currying)
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
41
035-Scala自定义控制结构 当Scala代码中有大量重复代码的时候,可以考虑创建新的控制结 构
自建控制接口的好处可以减少方法调用时很多参数传入带来的不便 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
42
036-Scala中的传递名称参数 传递名称参数的语法讲解 传递名称参数的用途
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
43
037-Scala中的抽象类组合与继承 Scala中的抽象类(抽象方法,抽象字段)定义 Scala中的继承 Scala中使用字段重写抽象方法
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
44
038-Scala中的抽象类组合与继承 Scala中的抽象类,调用超类构造函数 与Java之间的对比
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
45
039-Scala中的抽象类组合与继承 Scala中的override以及和Java的对比 Scala中的多态和动态绑定
Scala中的final 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
46
040-Scala中的抽象类组合与继承 调用父类方法 类型转换和检查 通过模式匹配做类型检查
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
47
041-Scala中的抽象类组合与继承 匿名子类(类型对应于结构类型) 构造顺序和提前定义
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
48
042-Scala中的继承层级 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
49
043-Scala中的继承层级 Any中 ==, !=的方法为final 想要改变==,!=方法的行为,需要重写equals方法
Null(Null是null的引用类型,他是每一个AnyRef的子类) Nothing(是所有类型的子类) 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
50
044-内容回顾与总结-4 内容回顾与总结 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
51
045-Scala中的特质(Trait) Scala不能同时继承多个类,但是可以混入多个Trait
Scala中的特质类似于Java中的接口,但是不同于接口 Scala中特质的基本用法 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
52
046-Scala中的瘦接口与胖接口 在Scala Trait中增加接口子类无需全部实现 瘦接口与胖接口的实战
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
53
047-Ordered 特质(Trait) 编写可比较大小的class 混入Ordered特质
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
54
048-带有特质(Trait)的对象 特质中的具体字段 特质中的抽象字段 带有特质的对象
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
55
049-特质(Trait)作为可堆砌的改变 Trait的更进一步用法 Trait之间的Super
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
56
050-特质(Trait)的线性执行次序 对于多重继承而言,super的调用事先是确定好的
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
57
051-Scala中的包 Scala采用了与Java平台完整的包机制 Scala有两种包的表现形式
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
58
052-Scala中包的引用 Scala中包的引用也是通过关键字import Scala的导入可以出现在任何地方 Scala导入的选择器子句
Scala中的隐式引用(scala,java.lang) 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
59
053-Scala中的访问修饰符 Scala中对类,单例对象,特质的访问修饰基本上类似于Java
默认为public,当然还提供了private以及protected Scala中还提供了对包(命名空间)的访问修饰 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
60
054-Scala中的包对象 在Scala2.8版本以前在包(package)中只能存放class,trait 在Scala2.8版本以后可以在包中存放 属性以及方法 common service concurrent process exception utils 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
61
055-内容回顾与总结-5 内容回顾与总结 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
62
056-Scala中的模式匹配 简单的模式匹配 值,类型,变量的模式匹配 模式匹配的一些规则
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
63
057-Scala中的模式匹配 模式匹配在Seq中的应用
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
64
058-Scala中的模式匹配 模式匹配在Tuple中的应用 模式匹配的Guards
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
65
059-Scala中的模式匹配 模式匹配在数组中的使用 变量声明中的模式 For表达式中的模式
Java的Collection在Scala中的使用 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
66
060-Scala中的Case Classes case classes的语法 case classes的特点
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
67
061-Scala中的密封类 Sealed类的写法 Sealed类的特性
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
68
062-Scala中的Option Scala中的Option的用法(option是一个sealed的class) Some None
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
69
063-Scala中的偏函数 偏函数(Partial Function)的语法 偏函数的用法
functions-in-scala-syntax-examples 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
70
064-Scala参数类型之泛型以及界定 泛型类 泛型函数 类型变量界定
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
71
065-Scala参数类型之视图以及上下文界定
视图界定(视图界定已经被失效掉了,建议采用参数隐式转换) 上下文界定 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
72
066-Scala参数类型之Manifest上下文界定
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
73
067-Scala参数类型之多重界定 上界定,下界定 T1 >: C, T2 <: T
类型变量的上界和下界 X >: C <: T 多个视图的界定 T <% Comparable[T] <% Serializable 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
74
068-Scala参数类型之协变 协变表示子类转父类,比如子类型给以赋给父类型 上界定下界定与Java的对比 协变与Java的对比学习
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
75
069-Scala参数类型之逆变 逆变表示父类转子类 逆变与Java的对比学习
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
76
070-Scala参数类型之对象泛型 Scala中对象不能泛型化 Scala中的类型通配符
版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
77
071-内容回顾与总结-6 内容回顾与总结 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
78
Alex Wang 版权所有:心蓝说Java, QQ: , 淘宝:wangwenjun0609.taobao.com
Similar presentations