国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Scala(二)

2019-11-08 02:21:00
字體:
供稿:網(wǎng)友
package learn.scalaimport org.apache.spark.SparkConfimport scala.collection.mutable.Mapimport javax.ws.rs.core.applicationobject ChecksumAccumulator {   //Scala比Java更面向?qū)ο蟮囊粋€方面是Scala沒有靜態(tài)成員,替代品是,Scala有單例對象  //singleton object.用 object關(guān)鍵字替換了class關(guān)鍵字    //當(dāng)單例對象與某個類共享同一個名稱時,它被稱作是這個類的伴生對象.你必須在同一個源文件里定義類和它的伴生對象.類被稱作這個單例對象的伴生類  //類和它的伴生對象可以互相訪問其私有成員    //類和單例對象間的一個差別是,單例對象不帶參數(shù),而類可以。因為你不能用new關(guān)鍵字實(shí)例化一個單例對象,你沒機(jī)會傳遞給它參數(shù)  //每個單例對象都被作為由一個靜態(tài)變量指向的虛構(gòu)類:synthetic class的一個實(shí)例來實(shí)現(xiàn)  //特別要指出的是,單例對象會在第一次被訪問的時候初始化    //不與伴生類共享名稱的單例對象被稱為孤立對象:standalone object。由于很多種原因你會用到它,包括把相關(guān)的功能方法收集在一起  //或定義一個scala應(yīng)用的入口點(diǎn)  PRivate val cache = Map[String, Int]()  def calculate(s: String): Int =    if (cache.contains(s))      cache(s)    else {      val acc = new ChecksumAccumulator      acc.sum=1      for (c <- s){//對傳入的字符串的每個字符循環(huán)一次        println(c)        acc.add(c.toByte)      }      val cs = acc.get()      cache += (s -> cs)      cs    }}class ChecksumAccumulator {  //public 是scala的缺省訪問級別  private var sum = 0  //b是 val類型的,不能在 add方法中再次賦值  def add(b: Int): Unit = {    sum += b  }  def get(): Int = {    sum //如果沒有發(fā)現(xiàn)任何顯示的返回語句,Scala方法將返回方法中最后一個計算得到的值.    //return sum  }}
上一篇:Scala(三)

下一篇:Scala(一)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 平阴县| 盘山县| 平罗县| 阳朔县| 商南县| 葫芦岛市| 建阳市| 高淳县| 合山市| 永定县| 陵水| 卫辉市| 大足县| 青川县| 兴业县| 彭山县| 大渡口区| 泸水县| 大余县| 上高县| 东光县| 镇原县| 都昌县| 进贤县| 荆门市| 襄垣县| 大田县| 瓮安县| 平乡县| 静安区| 抚州市| 晋江市| 海兴县| 类乌齐县| 新昌县| 榆社县| 合肥市| 德化县| 肇庆市| 科技| 玉田县|