package Scala /** * Created by Administrator on 2017/5/15. * Kafka,Spark底層是Scala編寫的 * http://www.imobilebbs.com/wordpress/%E6%95%99%E7%A8%8B/scala%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B */ /** * ScalaTest:該類是一個單列對象,和Java相似,Scala中任何Singleto對象,若是包含main方法,均可以做爲應用的入口點 * * */ object ScalaTest { /** Scala的單例對象 Scala不能定義靜態成員,取而代之的是單列對象,以object關鍵字定義, 類和單例對象間的差異是,單例對象不帶參數,而類能夠。由於單例對象不是用new關鍵字實例化的, 因此沒機會傳遞給它實例化參數。每一個單例對象都被實現爲虛擬類(synthetic class)的實例, 並指向靜態的變量,由於它們與Java靜態類有相同的初始化語義。 在下面幾個場景下能夠使用Scala單例對象: 做爲存放工具函數或常量的地方 高效地共享單個不可變實例 須要使用單個實例來協調某個服務時 */ /** 獨立對象(standalone object) */ /** 伴生對象(companion object) */ private var lastNumber = 0; def newUniqueNumber() = { lastNumber += 1 lastNumber } def main(args: Array[String]) { print(newUniqueNumber()) } }