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()) } }