国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 广水市| 新邵县| 怀来县| 东平县| 利川市| 蒙城县| 清苑县| 如皋市| 湘乡市| 哈密市| 仙游县| 望奎县| 岳阳县| 徐水县| 龙海市| 桃园县| 舒城县| 厦门市| 游戏| 东至县| 柞水县| 施秉县| 东丰县| 横山县| 盐山县| 留坝县| 乡宁县| 准格尔旗| 二手房| 绍兴市| 称多县| 马鞍山市| 通州市| 昆明市| 上栗县| 汕尾市| 洪湖市| 东乌珠穆沁旗| 金门县| 特克斯县| 铁岭市|