大資料數列修鍊-Scala課程03

來源:互聯網
上載者:User

標籤:

前言

今天上班看了很多關於前端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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.