Scala 单例
Scala 单例
Scala 单例对象
单例对象是使用 object 关键字而不是类来声明的对象。调用单例对象内部声明的方法不需要任何对象。
在scala中,没有静态概念。因此,scala 创建了一个单例对象来为您的程序执行提供入口点。
如果您不创建单例对象,您的代码将成功编译但不会产生任何输出。在单例对象中声明的方法可以全局访问。单例对象可以扩展类和特征。
Scala 单例对象示例
object Singleton{
def main(args:Array[String]){
SingletonObject.hello() // No need to create object.
}
}
object SingletonObject{
def hello(){
println("Hello, this is Singleton Object")
}
}
输出:
Hello, this is Singleton Object
Scala Companion Object
在scala中,当你有一个与单例对象同名的类时,它被称为伴侣类,而单例对象被称为伴生对象。
伴生类及其伴生对象都必须在同一个源文件中定义。
Scala 伴生对象示例
class ComapanionClass{
def hello(){
println("Hello, this is Companion Class.")
}
}
object CompanoinObject{
def main(args:Array[String]){
new ComapanionClass().hello()
println("And this is Companion Object.")
}
}
输出:
Hello, this is Companion Class.
And this is Companion Object.