標籤:
前言
今天上班看了很多關於前端js,jQuery、bootstrap.js以及springMVC看得迷迷糊糊的,畢竟以前很少去學習前端的技術,所有看得有點困,還好看得比較多,回家後也開始學習關於Scala相關的課程,實驗一下每天堅持做大資料相關的事情,一年後會成為什麼樣子......期待中....,今天也接著昨天的課程繼續。
Scala內部類實戰詳解
Scala內部類詳解:scala中內部類要訪問外部類直接把外部類的對象給內部類了,讓其自己訪問,內部類也需要執行個體化,這和java中有很多的區別,內部類可以訪問外部類任意成員變數並且不能為靜態變數
Scala內部類實戰:實現內部類訪問外部類
object scalaOuter { def main(args: Array[String]): Unit = { val outer1 = new Outer("Spark"); val outer2 = new Outer("Hadoop") val inner1 = new outer1.Inner("Scala") val inner2 = new outer2.Inner("Java") inner1.foo(inner1) inner2.foo(inner2) }}class Outer(val name: String){ //scala中內部類要訪問外部類直接把外部類的對象給內部類了,讓其自己訪問,內部類也需要執行個體化 outer =>class Inner(val name:String){ def foo(b:Inner)=println("Outer: "+outer.name + "Inner:" + b.name) }}
Scala單例對象、伴生對象實戰詳解
Scala單例對象詳解:單例對象可以直接存取中公有的方法和變數,這與java靜態類差不多
Scala伴生對象代碼實戰:伴生對象就是有一個類與這個對象名稱、參數都一樣,這個類可以訪問它的伴生對象中所有的變數和方法(私人都可以)
object ScalaObject { def main(args: Array[String]): Unit = { //University.studentNo ->這樣就會報錯 println(University.newStudenNo) println(University.newStudenNo) }}// Scala中object對象就好比java中的靜態類一樣object University { private var studentNo = 0 //私人的變數是不可以外部存取 def newStudenNo = { studentNo += 1 studentNo //函數的最後變數為傳回值 }}//伴生類class University{ val id = University.newStudenNo private var number =0 def aClass(number:Int){this.number += number}}
Scala中的apply實戰詳解
Objec中的apply實戰詳解:apply方法可以用在class中和對象中,可在伴生對象中執行個體化class,從而調用類中的方法
Class中的apply實戰詳解:類執行個體化後,對象()就可以調用apply方法
object ApplyOps { def main(args: Array[String]): Unit = {// val applyTest = ApplyOp() //直接用伴生對象訪問類中的方法 ->在伴生對象中已經new了對象,則可以訪問其中的方法// applyTest.haveAtry var b = new ApplyOp() println(b()) }}//ApplyOp類的伴生對象object ApplyOp{ def apply() = { println("Object ApplyOp") new ApplyOp }}//ApplyOp對象的伴生類class ApplyOp{ def apply() = { println("Class ApplyOp") } def haveAtry{ println(" Have a try on apply") }}
希望大家多多指教,謝謝
視頻分享地址:http://pan.baidu.com/s/1pJ9n3JH
大資料數列修鍊-Scala課程03