Scala單例物件、伴生物件
在Scala中,沒有靜態成員、靜態方法這一說,但是object可以做到類似效果:
結果:1、2
如果,同時存在一個class University,那麼這個類叫做伴生類,相應地,這個物件叫做伴生物件。
這個機制很有用,伴生物件可以做一些靜態化的初始化工作,如在spark中,可以經常看到這樣的用法。
如果是伴生物件,這個類可以訪問這個物件的任何成員(即使是private)
點選(此處)摺疊或開啟
-
object University{
-
private var studentNo = 0
-
def newStudenNo = {
-
studentNo += 1
-
studentNo
-
}
- }
點選(此處)摺疊或開啟
-
object ObjecOps {
-
def main(args: Array[String]): Unit = {
-
println(University.newStudenNo) //第一次呼叫時,初始化成員變數
-
println(University.newStudenNo)
-
}
- }
點選(此處)摺疊或開啟
-
class University{
-
val id = University.newStudenNo //可以訪問伴生物件的任何成員,即使是private
-
private var number =0
-
def aClass(number:Int){this.number += number}
- }
如果,同時存在一個class University,那麼這個類叫做伴生類,相應地,這個物件叫做伴生物件。
這個機制很有用,伴生物件可以做一些靜態化的初始化工作,如在spark中,可以經常看到這樣的用法。
如果是伴生物件,這個類可以訪問這個物件的任何成員(即使是private)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28912557/viewspace-1839506/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 探索Scala(3)-- 單例物件單例物件
- 好程式設計師大資料學習路線分享scala單列和伴生物件程式設計師大資料物件
- 學好Spark/Kafka必須要掌握的Scala技術點(二)類、單例/伴生物件、繼承和trait,模式匹配、樣例類(case class)SparkKafka單例物件繼承AI模式
- iOS單例物件iOS單例物件
- Scala(四):物件物件
- Scala學習(六)---Scala物件物件
- Scala 類和物件物件
- scala物件導向物件
- Scala可變物件物件
- scala類和物件物件
- Scala:數字是物件,函式也是物件!物件函式
- Scala學習 2 Scala物件導向物件
- ejb主物件,物件,例項 ?物件
- 引用物件與例項物件物件
- Singleton(單例)——物件建立型模式單例物件模式
- Scala中的包以及包物件物件
- Scala的物件導向程式設計物件程式設計
- Scala的類、屬性、物件欄位物件
- jQuery構造物件例項簡單介紹jQuery物件
- 單例項物件動態裝載問題?單例物件
- 例項和物件物件
- 偽物件、樁物件、模擬物件|單元測試物件
- 例項物件和函式物件的區別物件函式
- 將表單元素序列為物件程式碼例項物件
- 將form表單序列為物件例項程式碼ORM物件
- javascript 物件合併程式碼例項簡單分析JavaScript物件
- javascript物件導向繼承的簡單例項JavaScript物件繼承單例
- 從 Java 到 Scala(一):物件導向談起Java物件
- Cris 的 Scala 筆記整理(七):物件導向筆記物件
- Scala 學習筆記(2)之類和物件筆記物件
- 理清原型物件、 例項物件、建構函式原型物件函式
- JS函式,物件,例項方法,物件方法理解JS函式物件
- 確保物件的唯一性——單例模式 (五)物件單例模式
- 確保物件的唯一性——單例模式 (四)物件單例模式
- 確保物件的唯一性——單例模式 (三)物件單例模式
- 確保物件的唯一性——單例模式 (二)物件單例模式
- OC底層原理之例項、類物件、元類物件物件
- javascript判斷物件是否為空物件程式碼例項JavaScript物件