一、课程前导
DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。
Scala 深入浅出实战经典(1-90讲)完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2
Scala是最为重要的大数据语言,该视频每天还在持续跟新中,预计大约有140讲,请您根据上述视频彻底掌握Scala实战技术。
《第10讲:Scala单例对象、伴生对象实战详解》的视频地址:
酷6:http://v.ku6.com/show/hbq4BrInH9FQhusjkuXy_Q...html
51cto:http://edu.51cto.com/index.php?do=lesson&id=66552
最后,王家林老师个人的微信是18610086859
二、课程内容
注:下面的笔记源于王家林老师的第10讲:Scala单例对象、伴生对象实战详解和《快速Scala》书。
第10讲:Scala单例对象、伴生对象实战详解
1、Scala单例对象
(1)Scala单例对象是十分重要的,没有像在Java一样,有静态类、静态成员、静态方法,但是Scala提供了object对象,这个object对象类似于Java的静态类,它的成员、它的方法都默认是静态的。
(2)如果object的静态成员要被外界访问,则该成员不能被private修饰
(3)与Java另一个不一样的是,如果是静态类的静态变量、静态方法,类加载就会执行,但是Scala只有在第一次使用object的静态变量,静态方法才会生效。object也有一个隐形的无参的构造器。
2、Scala伴生对象
(4)如果有同样一个类与该object名字一样,则称该object为该类的伴生对象,相对应,该类为object的伴生类。如果一个类有它的伴生对象,这个类就可通过object的名字访问到所有成员,但object不在该类的作用范围。
(5)这讲的 object对象为静态常量、静态变量区域,可以直接调用,共享全局变量很有意义,伴生对象方便类的构建,可做为当前类的静态方法、成员的集合。