您的位置:首页 > 其它

第79讲:单例深入讲解及单例背后的链式表达式学习笔记

2015-08-07 22:49 501 查看
第79讲:单例深入讲解及单例背后的链式表达式学习笔记

scala的单例:object

单例有伴生类的话,object就是伴生类的伴生对象。

可以作为类的公共的成员方法和成员区。

每一个具体 对象都有单例类型

代码:

object Scala

class Java1

class JVM { def ethod1: this.type = this }

class JVM_Language extends JVM {def method2: this.type = this}

object Singleton_Type {

def main(args: Array[String]){

println(Scala.getClass)

println(typeOf[Scals.Type])

val java = vew Java1

val java2 = new Java1

println(typeOf[java.type])

//结果:java.type

//println(typeOf[java2.type])结果为java2.type

//说明任何一个实例对象都有唯一的单例

//虽然背后的class是一样的,但typeOf是不一样的。

//意义非常大,

val content:java.type = java

val jvm = new JVM_Language

println(jvm.method1)

jvm.method1.method2

/*这是一个链式表达式,由于任何一个实例对象都有唯一的单例

所以可以采用实例的type的方式,this就是jvm实例。

所以jvm.method1返回的是jvm本身。这样就可以再返回.method2

this.type是依附于具体实例的,所以是动态的。

this.type就是利用this的动态特性完成了执行method1时返回的内容。

这样可很好地做链式表达式。

返回的是动态对象的单例本身。

链式方式在spark的RDD中非常常见。

}

}

以上内容是从王家林老师DT大数据课程第79讲的学习笔记。

DT大数据微信公众账号:DT_Spark

王家林老师QQ:1740415547

王家林老师微信号:18610086859

scala第79讲视频观看链接:
http://yun.baidu.com/s/1eQdIzPw
我的百度网盘共享的DT大数据梦工厂王家林老师第1-79讲的视频内容:http://pan.baidu.com/s/1qWK9CMo

今日【DT大数据梦工厂视频】《第79讲:Scala单例深入讲解及单例背后的链式》

土豆:
http://www.tudou.com/programs/view/5WVeYHj4p78/
优酷:
http://v.youku.com/v_show/id_XMTMwMjg5ODg3Mg==.html?from=s1.8-1-1.2
56网:
http://www.56.com/u90/v_MTM4MjkyMTY3.html
搜狐视频:
http://my.tv.sohu.com/us/158901506/81035705.shtml
51CTO视频:
http://edu.51cto.com/lesson/id-70921.html
腾讯视频:
http://v.qq.com/boke/page/j/0/q/j0161lu5tcq.html
(DT大数据梦工厂scala的所有视频、PPT和代码在百度云盘的链接:
http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: